Aditya Atluri
6dcdf08e0d
fixed multi-dim module kernel launch
...
Change-Id: Id1d81f2375d058979ab526433f905cf0ea3d23d6
2016-11-11 12:25:23 -06:00
Ben Sander
d666fbaafe
Add option to deny peer access.
...
Also fix test.
Change-Id: I1b247f6c4271442b008e560669bca4daf8eb94c7
2016-11-10 23:12:48 -06:00
Ben Sander
6e54a600b6
Use forceUnpinnedCopy to resolve P2p corner cases.
...
Change-Id: I2aebb419881246cebb696bec87798635bc71acc2
2016-11-10 23:12:48 -06:00
Ben Sander
0eeaa3bcd5
Enable async copy again.
...
Also add HIP_FORCE_SYNC_COPY chicken bit.
Change-Id: I76a385410494b99bf27305d3c08f55dd81987565
2016-11-10 23:12:48 -06:00
Ben Sander
e767e0032e
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
f3d38c2615
Improve Peer support and testing.
...
Change-Id: Icadc65988aaf145a265587ab0357c5bf4d26f3eb
2016-11-06 03:22:36 -06:00
Ben Sander
06ecfa3975
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
926e63c655
Refactor resolve-mem step1
...
Change-Id: I7b8b2bbb56d7b31a97b48ebd42002641cd07a460
2016-11-04 09:37:56 -05:00
Ben Sander
00276d141e
Add debug for Peer APIs. Enable PeerMemcpy APIs by default.
...
Change-Id: I46e39a9e7b07686a78484c1f3b5495b08e052fbb
2016-11-04 08:51:16 -05:00
Aditya Atluri
f097b6ef81
added inter thread data movement intrinsics
...
Change-Id: I2a8a8ed49429cb7f96439bd28c4b83b5142737df
2016-11-01 16:37:33 -05:00
Ben Sander
3d0fa30183
Print short hipLaunchKernel correctly.
...
Change-Id: I6ca03d7c707cd03d6982199830213953d5855f17
2016-10-27 23:09:32 -05:00
Ben Sander
18dbafe6e8
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
1d5034f583
Add two levels of HIP_PROFILE_API (1=short,2=long)
...
Change-Id: I7ef98589f8731fb879db109fd573c62b489f2b61
2016-10-27 23:09:31 -05:00
Ben Sander
90adf98a7e
Fix scoped marker so begin/end ATP timestamps correct
...
Change-Id: Ic944d3fc00d7bc31b756c0e6c327b99eb489537e
2016-10-27 23:09:31 -05:00
Ben Sander
f7c42efa3f
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
caf446fe53
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
3132c36471
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
45e2dd4d69
Add per-thread API seqnum to debug
...
Change-Id: Ib13733a3e84cd56bae13a32bae40f936c20b7543
2016-10-27 23:09:31 -05:00
Ben Sander
7d69e858a5
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
8145e1b129
reverted change for cache size query
...
Change-Id: I44a1f43818cd287a2a3b6265f43d183f9bd5b71c
2016-10-25 11:03:35 -05:00
Aditya Atluri
e28f65604b
correct cachesize to output correct value
...
Change-Id: I5db031591eb718b0c12e78a35e4b19349de9526d
2016-10-25 09:33:45 -05:00
Ben Sander
714968cdc6
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
Ben Sander
d4b23da91f
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
c7303d5924
Add hipDeviceSchedule* support to queue wait
...
Change-Id: Iffa7a356500b026f3737c3f5719ca9f62b10d855
2016-10-18 22:27:16 -05:00
Ben Sander
0787c41ac0
Remove some TODO items
...
Change-Id: I7e9de2e43a8584f8dc9ee6d45c8ed00ca465f591
2016-10-18 22:27:16 -05:00
Ben Sander
403cdf93c3
Move some internal headers from "include/hip/" to src.
...
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e
2016-10-18 22:27:16 -05:00
Maneesh Gupta
88d6cad3fb
src/*: Update copyright header
...
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf
2016-10-15 22:55:22 +05:30
Ben Sander
aa3e04cf9a
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
dcadaadb24
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
Ben Sander
45bc107ad0
Fix HIP_USE_PRODUCT_NAME detection.
...
Change-Id: I6879ec3a11845bea66a18a9328bd4eaf54713420
2016-10-13 11:51:53 -05:00
pensun
0ac70e7184
Add ifdef guard for the feature requires ROCm1.3
...
Change-Id: I7154517c47000c37fe5eb09a3c1cf2a9aacbe27c
2016-10-13 10:57:31 -05:00
Aditya Atluri
e25a1e50b3
added constant memory property to 16KB
...
Change-Id: If067b4057c2e3fc0c26cf4604a1d4fac7f139b12
2016-10-13 10:47:40 -05:00
pensun
44cc44011b
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
e5325a1ab4
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
2918ff273d
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
Ben Sander
250f711ed0
Add DISABLE_COPY_EXT option.
2016-10-05 12:18:42 -05:00
Ben Sander
6950d3f9e9
Add HIP_BLOCKING_SYNC environment var to control stream sync behavior.
2016-10-05 12:18:42 -05:00
Maneesh Gupta
bbfc08f419
Move include/* to include/hip/*
...
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54
2016-10-04 22:17:18 +05:30
Ben Sander
806e58ca63
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
2016-09-27 15:45:40 -05:00
Ben Sander
4fd4168796
Add debug option to print ThreadID with each message.
...
Also print messages with single fprintf to prevents threads from
interleaving.
Change-Id: Ib3999fe6b1e67b4a16cd7dcde82f3dfc99dd48ff
2016-09-27 15:45:40 -05:00
Ben Sander
f6717e326e
Fix signal resource issue.
...
Remove memory leak with new hc::completion_future.
Implement HIP_LAUNCH_BLOCKING with queue-level wait.
Change-Id: I45975f81c4d239fdeed7776970988d28449865dc
2016-09-26 16:47:32 -05:00
Ben Sander
944d4eaa18
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.
2016-09-22 14:21:19 -05:00
Ben Sander
926aefa930
Remove unpinned_copy code. Other cleanup.
...
Change-Id: Ie3f71439cf1ba729ef223d078917c403d3de879a
2016-09-22 14:21:19 -05:00
Ben Sander
5bc18c8603
Cleanup. Remove cfs, ihipSignal_t, staging buffer calls.
...
Change-Id: I8bb67c484e3a65be06a03665f059217930da2bed
2016-09-22 14:21:19 -05:00
Ben Sander
17e21309f1
Cleanup: Remove HIP signal pool.
...
Change-Id: Icebfd0509d12396cc5933d5556d68b53e1be36e0
2016-09-22 14:21:19 -05:00
Ben Sander
c365785c5c
Remove HIP command dependency tracking.
...
Change-Id: I991c13bc5108193959ba70f9f6f9c692c9ad3a5b
2016-09-22 14:21:19 -05:00
Ben Sander
b0509c5a58
Cleanup, remove preCopyCommand.
...
Change-Id: I3768d3789a99be8136b43179d4152fa1875665cb
2016-09-22 14:21:19 -05:00
Ben Sander
3596901c3d
Change HIP async copy to call av::copy_async.
...
Change-Id: I4274b63ced3940d5249c32bd9d156296529c70e8
2016-09-22 14:21:19 -05:00
Ben Sander
8598d8c6d3
Use HCC's synchronous accelerator_view::copy
...
Replace large block of HIP code with a call to HCC av::copy().
Change-Id: Ic32e1801cf8d4cd116ac02b72c41b1a1e4b6065c
2016-09-22 14:21:19 -05:00
Ben Sander
60f797cc5a
Remove USE_AV_COPY, USE_PEER_TO_PEER fallback paths.
...
Change-Id: I9c20173e62029c4caebabc98784c6d7697758e4f
2016-09-22 14:21:19 -05:00