Граф коммитов

25 Коммитов

Автор SHA1 Сообщение Дата
pensun 6db08e5135 Add empty stubs for threadfence family routines, changes include:
- stubs and documentation in include/hcc_details/hip_runtime.h
    - stubs with "no-op" in src/hip_memory.cpp
    - document update in hip_kernel_language.md, add suggestions to
    disable L1 and L2 caches when using the threadfence routines.

Change-Id: Ic0753170f802003055bca9d7476d7f48817b98b7
2016-07-22 10:40:58 -05:00
Maneesh Gupta b485470819 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850
2016-07-22 15:46:55 +05:30
Maneesh Gupta 7d5cffdc17 Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c
2016-07-21 12:29:56 +05:30
Ben Sander 44d117ba63 Clean up old work-week and USE_* refs
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9
2016-06-17 15:18:57 -05:00
Ben Sander 6a2a140f34 NVCC improvements.
- Complete translation tables for cudaError <-> hipError_t.
- Remove some odd errors that were not correctly translated or not used.
- Add HIPCHECK_API to test infrastructure.  Used for negative testing
  an API ; if a mismatch occurs it shows the expected return error
  code.  Can also print a warning rather than error.
- Enable hipMemoryAllocate on NV system, and review error coded.
- Add hipErrorName to nvcc.

Change-Id: I680427dcf32a5796d5913cf9e7f3b4c6f6b91599

Conflicts:
	tests/src/CMakeLists.txt

Bug fixes and improved docs for hipFree and hipHostFree.

    - Passing NULL pointer initialized runtime and return hipSuccess
      (not an error like before).
    - add negative test for this. (hipMemoryAllocate, improved)
    - Match NVCC errors for invalid pointers, add to test.
    - Update hipFree and hipHostFree docs.
    - hipGetDevicePointer always set *devicePointer=NULL, even for
      invalid flags.
    - Gate shared memory usage on specific HCC work-week.

Change-Id: I533b4fd3280a3d6cdbf05eb768976f0c7506c012
2016-06-16 06:13:51 +05:30
Ben Sander 79983a1f4b Merge branch 'privatestaging' into p2p 2016-05-02 11:10:10 -05:00
Aditya Atluri f571c5ec7c fixed hipmemset to use native ihip api 2016-04-25 11:05:30 -05:00
Ben Sander 9329fb8c92 Add USE_HCC_LOCK_API.
Default off, if set will compile assuming HCC lock APIs exist.
2016-04-18 23:50:52 -05:00
Ben Sander 6abfa13c34 Fixes for P2P and hipDeviceReset
- devicereset would lose track of default stream and thus subsequent
  synchronization calls might not actually sychronize.
- Also deviceReset now correctly frees streams.
- fix waits in P2P staging copy - first phase (Device0-to-Staging) must
  wait for second phase (Staging to Device1) to finish draining the
  buffer.
2016-04-18 20:49:33 -05:00
Aditya Atluri dc61929a3d Corrected Memcpydefault 2016-04-16 17:10:13 -05:00
Aditya Atluri e8902a6e20 improved error returns for hipHostRegister/UnRegister functions 2016-04-15 10:42:31 -05:00
Aditya Atluri 26ee986774 added more features to hipHostRegister 2016-04-15 10:32:01 -05:00
Aditya Atluri 109154f03f added hipHostRegister/UnRegister api 2016-04-15 10:08:10 -05:00
Ben Sander efffb0ed86 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.
2016-04-11 09:09:36 -05:00
Ben Sander 9e7efd7c65 P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.
2016-04-11 07:58:59 -05:00
Ben Sander a4d97c3172 Remove stray debug msgs, hipInfo don't print self as peer. 2016-04-11 07:58:58 -05:00
Ben Sander 173cff4c1e fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.
2016-04-11 07:58:58 -05:00
Ben Sander 97772d6363 For P2P, use the peer list when allocating Device memory or pinned host.
Each new allocation is automatically mapped into the address space of
all enabled peers.
2016-04-11 07:58:58 -05:00
Aditya Atluri 883954fce2 added hipHostRegister support no multi-gpu 2016-04-11 10:28:16 -05:00
Ben Sander 1b2ab173c1 Tweak thread-safe implementation.
introduce LockedAccessor option so destructor does not unlock.
Allows locks to exist across function boundaries, required
for hipLaunchKernel macro which has several unusual requirements.
(including C comppatibility, must use variadic macro, more).
2016-03-28 21:41:47 -05:00
Ben Sander 6cab7862ae Stream thread-safe checkpoint.
Moving data structures to critical / protected section.
2016-03-28 09:46:40 -05:00
Ben Sander 4dd77c6612 Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.
2016-03-26 10:46:20 -05:00
Aditya Atluri eea49cb66b added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
Aditya Atluri 1c55019322 Split files based on functionality and changed cmake file 2016-03-24 04:57:30 -05:00
Ben Sander e52c3d9fe0 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp
2016-03-24 09:28:54 -05:00