Gráfico de commits

51 Commits

Autor SHA1 Mensaje Fecha
Maneesh Gupta dd60b971d1 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf


[ROCm/hip commit: 8471682f26]
2016-10-15 22:55:22 +05:30
Aditya Atluri c75674e24c changed copyright to appropriate format
Change-Id: I81488eb21243fd9dc9106290c06afaf65152b2ab


[ROCm/hip commit: 7cd6ae9ff4]
2016-10-12 19:14:17 -05:00
Aditya Atluri 62e25cc961 added more changes to memcpytosymbol
1. Refactored code to use HCC internal APIs rather than HCC copy APIs
2. Added hipMemcpyToSymbolAsync
3. Added test for hipMemcpyToSymbolAsync
4. Added new error hipErrorInvalidSymbol

Change-Id: I0e359b2d0ff5d682bbccdf9c2923e16b35e39497


[ROCm/hip commit: 3c4af7c371]
2016-10-11 13:29:46 -05:00
Aditya Atluri 3cddc50058 Added feature for memcpy to Symbol
1. Currently works only for __attribute__((addrspace(1))
2. Need to pass in string for name of the variable
3. Added test to check functionality

Change-Id: I4c3cc1bf151cb5423e4aef59fcc4ad5693b31641


[ROCm/hip commit: 6952b59401]
2016-10-11 12:09:58 -05:00
Maneesh Gupta eebcf24ee0 Add back deprecated hipHostAlloc, hipMallocHost, hipFreeHost
Change-Id: Ib8494078c852b07e1958c3acc21fa1866542122c


[ROCm/hip commit: 7c943ef20a]
2016-10-09 16:30:46 +05:30
Maneesh Gupta fc58842fcf Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54


[ROCm/hip commit: b951cc99ed]
2016-10-04 22:17:18 +05:30
Ben Sander 7fc988bc45 Refactor asyncCopy and syncCopy to fix deadlock case.
- Minimize time that locks are held.
- Eliminate copy code that locked stream and ctx at same time.
    - Stream was locked to ensure thread-safe enqueue to the queue.
    - Devices were locked to query peer-lists.

Change-Id: Ibe8880bb7fb995a3da8f90ff911f212d81525018


[ROCm/hip commit: 4ff6dc8f38]
2016-09-27 15:45:40 -05:00
Ben Sander 0dadf681db Fix signal resource issue.
Remove memory leak with new hc::completion_future.
Implement HIP_LAUNCH_BLOCKING with queue-level wait.

Change-Id: I45975f81c4d239fdeed7776970988d28449865dc


[ROCm/hip commit: 225e37fdc9]
2016-09-26 16:47:32 -05:00
Rahul Garg ccf9b08949 Removed deprecated hipHostAlloc
Change-Id: Ia592a3545c5d72f37e049ce29f910e404323c01c


[ROCm/hip commit: daef1d2906]
2016-09-26 10:58:46 +05:30
Rahul Garg d304ad4e1f Removed deprecated hipMallocHost
Change-Id: I3141fe05a34b6a306297a30721509965f49ccb97


[ROCm/hip commit: 6790ff6b11]
2016-09-26 05:52:21 +05:30
Rahul Garg 8f68e34442 Removed deprecated hipFreeHost
Change-Id: I9747ea3993090e0da6a2e1f5e9ce318762bc03e1


[ROCm/hip commit: 7b87a972cb]
2016-09-26 05:35:14 +05:30
Ben Sander a6f28e1708 Peer-to-Peer improvements.
- Bug fix for peer visibility.  Now contexts correctly detect when they can use SDMA for P2P vs staging buffers.
- Interface to new HCC copy_ext function.
- Improve context and peer print /debug options.
- Add comments and usage to hipPeerToPeer_simple test.


[ROCm/hip commit: c769abcbeb]
2016-09-22 14:21:19 -05:00
Ben Sander f028a2e833 Updates docs for hipHcc* functions, move to header
[ROCm/hip commit: 83140f8423]
2016-09-22 13:05:47 -05:00
Rahul Garg fbad743243 Added return error code hipErrorInvalidValue in hipMemGetInfo
Change-Id: If01b012136b655ff8eb4878eb703dfe3e6a36530


[ROCm/hip commit: ffd49cfa37]
2016-09-17 23:54:20 +05:30
Rahul Garg 736e4e13bd Partial updates of error codes for Memory APIs
Change-Id: If924867cc62f56dc9eaf81f5499ba66f417c393a


[ROCm/hip commit: 76949b6374]
2016-09-16 12:59:41 +05:30
Aditya Atluri 0700892c0c Added async memcpy driver api
Change-Id: I90e8a078d668a408e79f9e1142e7534771467a4f


[ROCm/hip commit: 2d5140cb27]
2016-09-09 10:21:52 -05:00
Ben Sander 1edcb06701 hipStreamWaitEvent update.
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.

Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0


[ROCm/hip commit: 0923c2d261]
2016-09-02 09:46:59 -05:00
Ben Sander bb0afa4e38 Refactor for stream->_av.
- move _av into stream critical section.  ( HCC accelerator_view is not
  thread-safe but HIP steram is. )
- Refactored many places in code that need to acquire critical section.
some were previously thread races, ie enqueueing marker.

-remove support for GRID_LAUNCH_VERSION < 20
-Enable USE_AV_COPY based on HCC work-week.
- Review hipModule docs, some calrity/editing.

Change-Id: I3ce7c25ece048c3504f55ecd4683e506bb1fc8b6


[ROCm/hip commit: e76a272d48]
2016-09-02 09:46:59 -05:00
pensun 6824b3af6d Modify hipMalloc to take size of 0 and return NULL pointer for it.
Modify hipMemoryAllocate test for this change.

Change-Id: I884aee0cd5fe0c60aebb4cb37cdbb4833c5bd0c7


[ROCm/hip commit: b726f0e949]
2016-09-01 13:08:30 -05:00
Ben Sander 694dcd1683 remove stray printf
Change-Id: Ie64778a83dfe684ffaab3c31bc3d09b713f825b9


[ROCm/hip commit: 8fb076f5c4]
2016-08-29 18:36:30 -05:00
Aditya Atluri dd8f451428 Changed module api to work with nvcc and hipcc path
- Added cuda and cudart linking for nvcc path in hipcc
- Added hipMemcpyHtoD and hipMemcpyDtoH for nvcc path
- Changed hipDeviceptr to hipDeviceptr_t
- Fixed hipMemcpy*to* API signatues

Change-Id: I6ef076b507f92502efda475c83dcdcdd462afc37


[ROCm/hip commit: 4b377f63d0]
2016-08-29 15:05:12 -05:00
Aditya Atluri 2efa60a37e Added explicit memory copy direction apis
- Fixed stale printf in context api
- Added 4 sync memcpy apis
  1. hipMemcpyHtoD
  2. hipMemcpyDtoH
  3. hipMemcpyDtoD
  4. hipMemcpyHtoH
- Added test for added apis

Change-Id: I4a9c382445b62631f8d0bcbb9a670322288b72b1


[ROCm/hip commit: 4152746e26]
2016-08-26 13:11:01 -05:00
Ben Sander 28db2f79ba Code cleanup, use camelCase where appropriate.
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c


[ROCm/hip commit: ed0a2c02fe]
2016-08-08 14:54:38 -05:00
Ben Sander e8757f8154 Move copy kernel templates into hip_memory.cpp
Change-Id: I862529f3fa8232372c6bacaa5d36f035bbdd32a1


[ROCm/hip commit: 2a798152d4]
2016-08-08 12:07:12 -05:00
Ben Sander 57df8a3967 Split ihipCtx_t into ihipCtx_t and ihipDevice_t .
Major change to existing code base.
    Ctx holds streams, enables peers, and flags.
    Device holds accelerator, hsa-agent, device props.

Add hipCtx_t.

Add peer APIs that accept hipCtx_t (in addition to deviceId)

Compiles and passes directed tests.

Change-Id: Iddab1eb9edbf90caad2ef5959c6b811d658197f1


[ROCm/hip commit: cfdacab32f]
2016-08-08 11:55:57 -05:00
Ben Sander ee356ad0d4 Change Device->Ctx
Change ihipDevice_t -> ihipCtx_t (new)
Change ihipGetTlsDefaultDevice->ihipGetTlsDefaultCtx
Some other changes from device->ctx where appropriate.

Change-Id: I5c4ae93b2fd42c6303aa23d748eb166b7431925d


[ROCm/hip commit: 2dc3d3238b]
2016-08-07 21:47:12 -05:00
pensun 2e5a6ab630 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


[ROCm/hip commit: f31668fee4]
2016-07-22 10:40:58 -05:00
Maneesh Gupta f02201e8c3 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850


[ROCm/hip commit: 71d51170ef]
2016-07-22 15:46:55 +05:30
Maneesh Gupta b160ff52fc Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c


[ROCm/hip commit: 7022986ab2]
2016-07-21 12:29:56 +05:30
Ben Sander 388fcd8003 Clean up old work-week and USE_* refs
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9


[ROCm/hip commit: 5c9e286ddc]
2016-06-17 15:18:57 -05:00
Ben Sander 0268c1e4e6 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


[ROCm/hip commit: 2ab19ca505]
2016-06-16 06:13:51 +05:30
Ben Sander ef89f7119d Merge branch 'privatestaging' into p2p
[ROCm/hip commit: d30ad55160]
2016-05-02 11:10:10 -05:00
Aditya Atluri ca5ca85645 fixed hipmemset to use native ihip api
[ROCm/hip commit: a730d60930]
2016-04-25 11:05:30 -05:00
Ben Sander bd8388bfc3 Add USE_HCC_LOCK_API.
Default off, if set will compile assuming HCC lock APIs exist.


[ROCm/hip commit: 3bcefdaa2d]
2016-04-18 23:50:52 -05:00
Ben Sander 32f9d67741 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.


[ROCm/hip commit: e020d68309]
2016-04-18 20:49:33 -05:00
Aditya Atluri 6cd86531b3 Corrected Memcpydefault
[ROCm/hip commit: 8dc1bdcbe6]
2016-04-16 17:10:13 -05:00
Aditya Atluri c53211e700 improved error returns for hipHostRegister/UnRegister functions
[ROCm/hip commit: 2e80de6dcb]
2016-04-15 10:42:31 -05:00
Aditya Atluri 4dd3424b15 added more features to hipHostRegister
[ROCm/hip commit: 8a43f18333]
2016-04-15 10:32:01 -05:00
Aditya Atluri 12cb3de301 added hipHostRegister/UnRegister api
[ROCm/hip commit: fa7a3822f6]
2016-04-15 10:08:10 -05:00
Ben Sander b174e8bba7 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.


[ROCm/hip commit: b0529e04f1]
2016-04-11 09:09:36 -05:00
Ben Sander c964e3c75a 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.


[ROCm/hip commit: 83f0de7806]
2016-04-11 07:58:59 -05:00
Ben Sander 80e2e37c51 Remove stray debug msgs, hipInfo don't print self as peer.
[ROCm/hip commit: d89539d40f]
2016-04-11 07:58:58 -05:00
Ben Sander 69a9feb1fb fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.


[ROCm/hip commit: fb31eaf07b]
2016-04-11 07:58:58 -05:00
Ben Sander 06e2dbd128 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.


[ROCm/hip commit: 813b063888]
2016-04-11 07:58:58 -05:00
Aditya Atluri ed3013cb6e added hipHostRegister support no multi-gpu
[ROCm/hip commit: 07d570468e]
2016-04-11 10:28:16 -05:00
Ben Sander 630ef59d7b 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).


[ROCm/hip commit: 8635863724]
2016-03-28 21:41:47 -05:00
Ben Sander 9e3ac64c54 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/hip commit: 3f18bab2c7]
2016-03-28 09:46:40 -05:00
Ben Sander 141ccad414 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.


[ROCm/hip commit: 530ab9434a]
2016-03-26 10:46:20 -05:00
Aditya Atluri 6aa83a8a32 added CR and hipsetdeviceflags func
[ROCm/hip commit: c5ec73736d]
2016-03-24 07:04:01 -05:00
Aditya Atluri 702672c3df Split files based on functionality and changed cmake file
[ROCm/hip commit: 794007c3e8]
2016-03-24 04:57:30 -05:00