Ben Sander
ced9d72d94
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
2016-11-10 23:12:48 -06:00
Ben Sander
2dea3a0b1a
Improve memory debug
...
Change-Id: I0f033139aa4e4b47039eb016e404009127bd0a44
2016-11-10 23:12:48 -06:00
pensun
4d7ac1e091
resolve conflicts for git pull
...
Change-Id: Ie353b831e2241bc28042069b6cc7405257e871e1
2016-11-09 21:38:43 -06:00
pensun
f7e9f12bf1
Add option to alloc fingrained system memory
...
Change-Id: Ia13c8e058cb988b5857e75a590a4d67411362ae1
2016-11-09 21:36:30 -06:00
Ben Sander
d728819d17
Improve Peer support and testing.
...
Change-Id: Icadc65988aaf145a265587ab0357c5bf4d26f3eb
2016-11-06 03:22:36 -06:00
Ben Sander
092b3dacda
Set forceHostCopyEngine for other copy dirs. Support HIP_FORCE_P2P_HOST
...
Also: more debug for copy and P2p.
Change-Id: I87030c525410e041b2a00baaf6c68e6c0977ff42
2016-11-04 19:53:23 -05:00
Ben Sander
5d79384832
Refactor resolve-mem step1
...
Change-Id: I7b8b2bbb56d7b31a97b48ebd42002641cd07a460
2016-11-04 09:37:56 -05:00
Ben Sander
3f0a2b8dc1
Add debug for Peer APIs. Enable PeerMemcpy APIs by default.
...
Change-Id: I46e39a9e7b07686a78484c1f3b5495b08e052fbb
2016-11-04 08:51:16 -05:00
Aditya Atluri
f48c53534e
added inter thread data movement intrinsics
...
Change-Id: I2a8a8ed49429cb7f96439bd28c4b83b5142737df
2016-11-01 16:37:33 -05:00
Rahul Garg
2d15d0741c
Added hipDeviceGetByPCIBusId in hip/hcc path
...
Change-Id: I3cca0dc533d0281689d8a407c7da16ca1ba6a3a8
2016-11-01 10:57:48 +05:30
Ben Sander
024d9ab090
Print short hipLaunchKernel correctly.
...
Change-Id: I6ca03d7c707cd03d6982199830213953d5855f17
2016-10-27 23:09:32 -05:00
Ben Sander
bb58f4f6fc
Add initial hipProfileStart/Stop
...
And modify sample to show how to use.
Still needs some work to understand interaction with CXL.
Change-Id: I2579824d2dd7863ea23874d34f0dabb3cb305d3e
2016-10-27 23:09:32 -05:00
Ben Sander
ef8eac9b66
Add two levels of HIP_PROFILE_API (1=short,2=long)
...
Change-Id: I7ef98589f8731fb879db109fd573c62b489f2b61
2016-10-27 23:09:31 -05:00
Ben Sander
ab1836544a
Fix scoped marker so begin/end ATP timestamps correct
...
Change-Id: Ic944d3fc00d7bc31b756c0e6c327b99eb489537e
2016-10-27 23:09:31 -05:00
Ben Sander
e9056798f6
Rename HIP_ATP_MARKER and profiling vars
...
HIP_PROFILE_API
HIP_DB_START_API
HIP_DB_STOP_API
Change-Id: I6c4da67212ff8217e6356a2622d4c6278a188c34
2016-10-27 23:09:31 -05:00
Ben Sander
f5e8090f2f
Allow HIP_DB to be number or string flags (ie HIP_DB=api+mem+sync)
...
Add callbacks for processing env vars.
Change-Id: I4ddf50e2da56b1dae43f50657bc693b07b23c03d
2016-10-27 23:09:31 -05:00
Ben Sander
710be682ca
Add HIP_PROFILE_START_API, HIP_PROFILE_STOP_API
...
Refactor HIP_INIT_API to call recordApiTrace.
Change-Id: Ieff4b5018236f59e49e1b9841474440a34f821df
2016-10-27 23:09:31 -05:00
Ben Sander
739bc37503
Add per-thread API seqnum to debug
...
Change-Id: Ib13733a3e84cd56bae13a32bae40f936c20b7543
2016-10-27 23:09:31 -05:00
Ben Sander
354091f357
Don't call allow-access if allocating device's only peer is self.
...
Change-Id: Iac58e6c3e460675833f10b1e8b2e393de223654d
2016-10-27 23:09:31 -05:00
Ben Sander
346c519ace
Improve HIP TID printing in debug mode.
...
Map long thread-id to a short one that is printed with each message.
Remove clunky stirng creation code for tid_tr.
Print TID on every message.
Change-Id: I780a91d8ce789cb4957789036b478bf5cde8c4e4
2016-10-27 23:09:31 -05:00
Aditya Atluri
e1c1b4c009
reverted change for cache size query
...
Change-Id: I44a1f43818cd287a2a3b6265f43d183f9bd5b71c
2016-10-25 11:03:35 -05:00
Aditya Atluri
820a914b98
correct cachesize to output correct value
...
Change-Id: I5db031591eb718b0c12e78a35e4b19349de9526d
2016-10-25 09:33:45 -05:00
pensun
1f11a9554e
Add workaround for hipStreamAddCallback function: call stream synchronize on host and then add execute the call back function
...
Change-Id: If361f8e053949904b19b9e09245d267f05e29f7b
2016-10-22 23:59:39 -05:00
Ben Sander
203348ac9b
Fix P2P for async
...
Also improve HIP debug message: Add more DB_COPY1 messages. memcpyStr,
expand HIP_DB bitmask.
2016-10-20 10:02:23 -05:00
Rahul Garg
cd6eb7af78
Quickfix for HCSWAP-60, support for hipHostMallocPortable
...
Change-Id: I2a4fcacea9d916ef222324fc9e9d8191f6dc12d0
2016-10-20 10:44:30 +05:30
Ben Sander
000d75de95
Add HIP_WAIT_MODE env var.
...
Also weaken cases where hipSetDeviceFlags returns hipErrorInvalidValue.
Change-Id: I7f113338be6fe498eaf1ab40fd0fd6b23849bb5e
2016-10-18 22:27:16 -05:00
Ben Sander
261ff423e1
Add hipDeviceSchedule* support to queue wait
...
Change-Id: Iffa7a356500b026f3737c3f5719ca9f62b10d855
2016-10-18 22:27:16 -05:00
Ben Sander
d21d3ec222
Remove some TODO items
...
Change-Id: I7e9de2e43a8584f8dc9ee6d45c8ed00ca465f591
2016-10-18 22:27:16 -05:00
Ben Sander
2239e99f60
Fix event flag detection.
...
Change-Id: I0b0ba66c2339021320fe3d7760fdad1a0490a76b
2016-10-18 22:27:16 -05:00
Ben Sander
61af94a555
Update docs for event, review event TODO.
...
Change-Id: Iec491f9f22df163f01c0af6639fcbe33c81acdcc
2016-10-18 22:27:16 -05:00
Ben Sander
9315ac1a29
Move some internal headers from "include/hip/" to src.
...
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e
2016-10-18 22:27:16 -05:00
Maneesh Gupta
8471682f26
src/*: Update copyright header
...
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf
2016-10-15 22:55:22 +05:30
Ben Sander
c54220eca9
Cleanup files from code review.
...
- Remove some stale code
- Update docs
- Correct define for __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__
Change-Id: Ic5e3cdb8269b1c18f6d2693700b55e08c4d0080e
2016-10-15 11:51:20 -05:00
Ben Sander
50e0a363ce
Add code to use new HCC API accelerator_view::dispatch_hsa_kernel.
...
Disabed by default, can enable with USE_DISPATCH_HSA_KERNEL=1
Change-Id: I7a6ba76f2bada34952ed47f5335ce695fa2faea5
2016-10-14 23:46:29 -05:00
Maneesh Gupta
6a14f39f8b
Remove incorrect executable-bit from non-executable files
...
Change-Id: Iacc434374721e01f7d75d0ab54bceabe0b337f54
2016-10-14 12:53:13 +05:30
Aditya Atluri
00c3db0e60
changed hipLimit to hipLimit_t and data type to enum
...
Change-Id: I94f408cdcac4b0bb38801d58709b68e9630d44d0
2016-10-13 15:13:11 -05:00
Aditya Atluri
90a71c4be4
added compiler flag for polaris
...
Change-Id: Ib14c14c0618982ac7b48f5bc704c04b54ff40ed9
2016-10-13 14:16:48 -05:00
Ben Sander
89012201c9
Fix HIP_USE_PRODUCT_NAME detection.
...
Change-Id: I6879ec3a11845bea66a18a9328bd4eaf54713420
2016-10-13 11:51:53 -05:00
Ben Sander
fa075091b5
fix file-not-found detection
...
Change-Id: Ida84923ed18b3ebf8ffcfd6ee84d8a72f611ecd3
2016-10-13 11:43:49 -05:00
pensun
b70409f3ad
Add ifdef guard for the feature requires ROCm1.3
...
Change-Id: I7154517c47000c37fe5eb09a3c1cf2a9aacbe27c
2016-10-13 10:57:31 -05:00
Aditya Atluri
237837d9bd
added constant memory property to 16KB
...
Change-Id: If067b4057c2e3fc0c26cf4604a1d4fac7f139b12
2016-10-13 10:47:40 -05:00
pensun
c3f375327f
Change to query device name using HSA_AMD_AGENT_INFO_PRODUCT_NAME;
...
Note: this commit depends on ROCR runtime in ROCm 1.3 release.
Change-Id: I90385ef6d11ee8a1e8adae1d3fdf21747347544c
2016-10-12 20:01:30 -05:00
Aditya Atluri
62ec53740c
Added hipDeviceGetLimit api
...
1. hipDeviceGetLimit API for HCC path is added
2. Test for hipDeviceGetLimit API is added
3. The feature added only supports querying heap size
4. Corrected indents for malloc and free device functions
5. Removed redundant data structures
6. Added g_heap_malloc_size to store the heap size
Change-Id: If48d1b0ce9270e994f1c542cc283ddbb14746bbb
2016-10-12 19:58:48 -05:00
Aditya Atluri
7cd6ae9ff4
changed copyright to appropriate format
...
Change-Id: I81488eb21243fd9dc9106290c06afaf65152b2ab
2016-10-12 19:14:17 -05:00
Aditya Atluri
d24a7ef12b
added malloc and free device functions
...
1. Added malloc and free device functions
2. Added test which check malloc and free functions
TODO: Need to add support for multiple device. Works only on one device (multi device support id NOT available).
Change-Id: Id11fc36463915d6ad46c264d5a20c8feb2d2c17c
2016-10-12 19:08:34 -05:00
Aditya Atluri
3c4af7c371
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
2016-10-11 13:29:46 -05:00
Aditya Atluri
6952b59401
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
2016-10-11 12:09:58 -05:00
Aditya Atluri
dc1042ce6d
added threadfence feature for hcc
...
1. Added feature for __threadfence and __threadfence_block
2. Added feature for using LLVM IR files directly while compilation
3. Added test for threadfence and threadfence_block
Change-Id: Ib7e5d89b4cca1a135952b317e5809cd05b56a3c9
2016-10-10 15:29:50 -05:00
Maneesh Gupta
7c943ef20a
Add back deprecated hipHostAlloc, hipMallocHost, hipFreeHost
...
Change-Id: Ib8494078c852b07e1958c3acc21fa1866542122c
2016-10-09 16:30:46 +05:30
Elias Konstantinidis
2bc541e15f
Added support for __mul24 and __umul24
2016-10-06 09:29:36 +05:30