Commit-Graf

83 Incheckningar

Upphovsman SHA1 Meddelande Datum
Ben Sander 49d7ea94f5 Refactor registered memory calls.
[ROCm/clr commit: b7acb85fa8]
2017-03-11 09:18:27 -06:00
Ben Sander a0932fbcc3 Update hipHostRegister debug and pointerTracker debug and notes
[ROCm/clr commit: e43592721e]
2017-03-11 09:18:27 -06:00
Ben Sander c8595b0373 Fix copying of registered memory.
Set device properly so copying can recover context.
Enhance test to catch this case.


[ROCm/clr commit: 23a58775df]
2017-03-11 09:18:27 -06:00
Rahul Garg b2b8361763 IPC supported using ROCR APIs
Change-Id: I0a353b1240098f4b20fa266a871f5f5826290af9


[ROCm/clr commit: 3af487007b]
2017-03-10 23:45:28 +05:30
Aditya Atluri c861d10d1e Added new API, hipMemPtrGetInfo
1. This API returns memory allocation size of pointer
2. Added test to check its functionality

Change-Id: I87976d817b5a6ca5530336c09e7cb0420601cb2c


[ROCm/clr commit: 7b7d53f875]
2017-03-07 13:46:29 -06:00
Aditya Atluri 78f1d54ad6 Added initial support for hipMemcpyFromSymbol. But not working!
Change-Id: I48d8c7de4ec9f85c6c942be995fb488a3931f5d7


[ROCm/clr commit: 7ac5017cb9]
2017-02-23 11:29:06 -06:00
Aditya Atluri 945526cf77 added runtime api hipMemcpyFromSymbolAsync
Change-Id: Ibaf925faf0ba464dd0ed6c5ea74c224c2ce38889


[ROCm/clr commit: 3d348b2d81]
2017-02-22 19:16:35 -06:00
Aditya Atluri f36992067b fixed symbol memcpy issue
Change-Id: I89d7401be51d194bcbf771020ba66e3d3b6a18f8


[ROCm/clr commit: 0d4e6ae60a]
2017-02-01 17:54:59 -06:00
Ben Sander 57e1efebab Add debug tips to docs
[ROCm/clr commit: 4de3df746c]
2017-01-23 22:34:41 -06:00
Ben Sander 81488d5d00 Add HIP_SYNC_HOST_ALLOC, HipReadEnv
[ROCm/clr commit: db3f4889ca]
2017-01-19 23:55:24 -06:00
Aditya Atluri a86633f210 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574


[ROCm/clr commit: e9ff23e5f9]
2017-01-11 18:05:41 -06:00
Ben Sander 13bf4c39cc Add HIP_MAX_QUEUES feature.
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim.  To avoid deadlock, we can't
have a stream locked when we lock the context.  This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.


[ROCm/clr commit: b29fbf736d]
2017-01-09 21:02:56 -06:00
Ben Sander 82cf0397c5 First pass at virtualized queue support.
Also updated stream debug messages to consistently use trace_helper.


[ROCm/clr commit: c9f5fe34e6]
2017-01-09 21:02:53 -06:00
Rahul Garg 0aabd435a9 Added state for hipDevice.
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa


[ROCm/clr commit: 090eadd0bd]
2017-01-09 23:54:01 +05:30
Ben Sander 4ad8744139 Support size_t in memset kernel.
Add disable for HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU
Remove one copy of completion_future in memset.


[ROCm/clr commit: fd5b0c68b1]
2016-12-22 12:25:09 -06:00
Ben Sander 1f638c1da6 Add USE_IPC to disable use of IPC APIs. Set to 0.
[ROCm/clr commit: 5eed20be12]
2016-12-13 15:07:04 -06:00
pensun 0d8957fb9a HIP IPC implementation on ROCr IPC APIs
Change-Id: I1ca9d520f5d0b1b56694211471b81eb7c6c23d16


[ROCm/clr commit: 7ac5f2e8c3]
2016-12-07 15:38:36 -06:00
pensun 707358d0b4 IPC prototyps and part of the implementation included
Change-Id: Id88c7f155d23ec63f57a6ef05098fba43f8af336


[ROCm/clr commit: 092924d660]
2016-12-06 14:24:09 -06:00
pensun aaecc3fe04 local changes for hipnccl
Change-Id: I05a1f0381ce2914a800f573342cc954eb5ff82d9


[ROCm/clr commit: 808e555247]
2016-12-06 14:22:02 -06:00
Ben Sander bccb897f84 Add additional controls for forcing serialization and blocking.
Move HIP_COHERENT_HOST_ALLOC so it is read once at init time.
Add HIP_LAUNCH_BLOCKING_KERNELS, HIP_API_BLOCKING.
Update docs on debug and chicken bits.

Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 783ac156ce]
2016-12-02 18:03:59 -06:00
Rahul Garg 4421ff4fb6 Added support for hipMemGetAddressRange
Change-Id: I99a796a4eb765152cf15a12d6a86b58684d34f50


[ROCm/clr commit: bda0704213]
2016-11-29 22:04:09 +05:30
Maneesh Gupta b13556367d Refactor for building HIP as dynamic library
Change-Id: I65a3d9d589c4fdbbdcf1611e5427224253be8260


[ROCm/clr commit: 2195e3c37d]
2016-11-18 14:33:20 +05:30
Aditya Atluri e2dd339cfd added texture header to memory api source
Change-Id: I1af6d60aca5a9a9ef1cadf8c304bea892acbe061


[ROCm/clr commit: 84d0d10fad]
2016-11-17 11:57:53 -06:00
pensun dd1061b874 Add direct test case for threadfence_system workaround
Change-Id: I5b21b590e957c901044741ac94e816cd8b1426f9


[ROCm/clr commit: 992f94b3a1]
2016-11-11 15:09:43 -06:00
Ben Sander ee41609b48 Refactor copy and P2P logic.
Prefer use of source-engine for DMA copies, even if user submits copy
in a stream attached to a different device.
The stream is now used only for synchronization, and HIP
makes the most optimal decision for which engine to perform the
copy - typically the source copy engine.

HIP now makes decision on which engine should perform the copy
and passes this to HCC using new apis.
HIP has additional information about peer
visibility and will make a decision which agent should perform
the copy .

Change-Id: I0cf4cfebeae256e6ca795f08a7ed7130f4857d1f


[ROCm/clr commit: e767e0032e]
2016-11-10 23:12:48 -06:00
Ben Sander ae2992bcb9 Improve memory debug
Change-Id: I0f033139aa4e4b47039eb016e404009127bd0a44


[ROCm/clr commit: e9835617f1]
2016-11-10 23:12:48 -06:00
pensun daf19a2dbb resolve conflicts for git pull
Change-Id: Ie353b831e2241bc28042069b6cc7405257e871e1


[ROCm/clr commit: bbb619c732]
2016-11-09 21:38:43 -06:00
pensun 61635b585f Add option to alloc fingrained system memory
Change-Id: Ia13c8e058cb988b5857e75a590a4d67411362ae1


[ROCm/clr commit: 23de0e1b50]
2016-11-09 21:36:30 -06:00
Ben Sander 0af2722827 Set forceHostCopyEngine for other copy dirs. Support HIP_FORCE_P2P_HOST
Also: more debug for copy and P2p.

Change-Id: I87030c525410e041b2a00baaf6c68e6c0977ff42


[ROCm/clr commit: 06ecfa3975]
2016-11-04 19:53:23 -05:00
Ben Sander 5e20bb6370 Don't call allow-access if allocating device's only peer is self.
Change-Id: Iac58e6c3e460675833f10b1e8b2e393de223654d


[ROCm/clr commit: f8b356dce8]
2016-10-27 23:09:31 -05:00
Rahul Garg 41f4571b62 Quickfix for HCSWAP-60, support for hipHostMallocPortable
Change-Id: I2a4fcacea9d916ef222324fc9e9d8191f6dc12d0


[ROCm/clr commit: b4702f3912]
2016-10-20 10:44:30 +05:30
Ben Sander d6ffcdb9b0 Move some internal headers from "include/hip/" to src.
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e


[ROCm/clr commit: 403cdf93c3]
2016-10-18 22:27:16 -05:00
Maneesh Gupta 2655c96ab9 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf


[ROCm/clr commit: 88d6cad3fb]
2016-10-15 22:55:22 +05:30
Aditya Atluri 243855977b changed copyright to appropriate format
Change-Id: I81488eb21243fd9dc9106290c06afaf65152b2ab


[ROCm/clr commit: 8f3e6fc81e]
2016-10-12 19:14:17 -05:00
Aditya Atluri 41077d99af 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/clr commit: 0bf811b875]
2016-10-11 13:29:46 -05:00
Aditya Atluri 68b3ae7fce 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/clr commit: 89b576da65]
2016-10-11 12:09:58 -05:00
Maneesh Gupta 4cef1070b2 Add back deprecated hipHostAlloc, hipMallocHost, hipFreeHost
Change-Id: Ib8494078c852b07e1958c3acc21fa1866542122c


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


[ROCm/clr commit: bbfc08f419]
2016-10-04 22:17:18 +05:30
Ben Sander d5d764a4d4 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/clr commit: 806e58ca63]
2016-09-27 15:45:40 -05:00
Ben Sander 46a4854bae Fix signal resource issue.
Remove memory leak with new hc::completion_future.
Implement HIP_LAUNCH_BLOCKING with queue-level wait.

Change-Id: I45975f81c4d239fdeed7776970988d28449865dc


[ROCm/clr commit: f6717e326e]
2016-09-26 16:47:32 -05:00
Rahul Garg 0206224b5e Removed deprecated hipHostAlloc
Change-Id: Ia592a3545c5d72f37e049ce29f910e404323c01c


[ROCm/clr commit: c313836013]
2016-09-26 10:58:46 +05:30
Rahul Garg 71d0254bd4 Removed deprecated hipMallocHost
Change-Id: I3141fe05a34b6a306297a30721509965f49ccb97


[ROCm/clr commit: f5b463702e]
2016-09-26 05:52:21 +05:30
Rahul Garg eedc7f410e Removed deprecated hipFreeHost
Change-Id: I9747ea3993090e0da6a2e1f5e9ce318762bc03e1


[ROCm/clr commit: 3a6acd044b]
2016-09-26 05:35:14 +05:30
Ben Sander 4cf9803703 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/clr commit: 944d4eaa18]
2016-09-22 14:21:19 -05:00
Ben Sander 6b6b0d6b58 Updates docs for hipHcc* functions, move to header
[ROCm/clr commit: b4bc101c96]
2016-09-22 13:05:47 -05:00
Rahul Garg 6d1d6b9cfb Added return error code hipErrorInvalidValue in hipMemGetInfo
Change-Id: If01b012136b655ff8eb4878eb703dfe3e6a36530


[ROCm/clr commit: 8842a0d5b8]
2016-09-17 23:54:20 +05:30
Rahul Garg de2c138bd7 Partial updates of error codes for Memory APIs
Change-Id: If924867cc62f56dc9eaf81f5499ba66f417c393a


[ROCm/clr commit: cb3bff0a0d]
2016-09-16 12:59:41 +05:30
Aditya Atluri 7373e61507 Added async memcpy driver api
Change-Id: I90e8a078d668a408e79f9e1142e7534771467a4f


[ROCm/clr commit: c3ab5a8df8]
2016-09-09 10:21:52 -05:00
Ben Sander 589f28547e 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/clr commit: 8e883ab666]
2016-09-02 09:46:59 -05:00
Ben Sander 938933ca2f 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/clr commit: 02f65a483c]
2016-09-02 09:46:59 -05:00