Commit Graph

256 Commits

Author SHA1 Message Date
Maneesh Gupta 2234b57513 Refactor for building HIP as dynamic library
Change-Id: I65a3d9d589c4fdbbdcf1611e5427224253be8260


[ROCm/hip commit: c0419cc749]
2016-11-18 14:33:20 +05:30
Aditya Atluri da0a8cd032 Added i8 packed math intrinsics
1. Added add, sub, mul packed math i8 intrinsics
2. Removed c++ packed data structures included from HCC

Change-Id: I1d109c5ce10c48b7cd3ea059478b88fc1de78499
TODO: Add better packed data structures support


[ROCm/hip commit: 12dd9df88f]
2016-11-17 01:09:12 -06:00
Maneesh Gupta c7f6ddd612 Enable USE_COPY_EXT_V2 by default
Change-Id: I2c0dc80f85a0ccb5744715b5418a604e38b249ed


[ROCm/hip commit: 888a3528d2]
2016-11-15 10:42:27 +05:30
Aditya Atluri 96f7a083c9 fixed multi-dim module kernel launch
Change-Id: Id1d81f2375d058979ab526433f905cf0ea3d23d6


[ROCm/hip commit: abf6872b2b]
2016-11-11 12:25:23 -06:00
Ben Sander 1c7e71e1b3 Add option to deny peer access.
Also fix test.

Change-Id: I1b247f6c4271442b008e560669bca4daf8eb94c7


[ROCm/hip commit: 1e5515ee9f]
2016-11-10 23:12:48 -06:00
Ben Sander 99ce555300 Use forceUnpinnedCopy to resolve P2p corner cases.
Change-Id: I2aebb419881246cebb696bec87798635bc71acc2


[ROCm/hip commit: 65584e48de]
2016-11-10 23:12:48 -06:00
Ben Sander 9828c7e51c Enable async copy again.
Also add HIP_FORCE_SYNC_COPY chicken bit.

Change-Id: I76a385410494b99bf27305d3c08f55dd81987565


[ROCm/hip commit: d3d6feb4de]
2016-11-10 23:12:48 -06:00
Ben Sander e0ef3bb319 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/hip commit: ced9d72d94]
2016-11-10 23:12:48 -06:00
Ben Sander 56cd9ce82f Improve Peer support and testing.
Change-Id: Icadc65988aaf145a265587ab0357c5bf4d26f3eb


[ROCm/hip commit: d728819d17]
2016-11-06 03:22:36 -06:00
Ben Sander 2a9aa89491 Set forceHostCopyEngine for other copy dirs. Support HIP_FORCE_P2P_HOST
Also: more debug for copy and P2p.

Change-Id: I87030c525410e041b2a00baaf6c68e6c0977ff42


[ROCm/hip commit: 092b3dacda]
2016-11-04 19:53:23 -05:00
Ben Sander fe1d895f07 Refactor resolve-mem step1
Change-Id: I7b8b2bbb56d7b31a97b48ebd42002641cd07a460


[ROCm/hip commit: 5d79384832]
2016-11-04 09:37:56 -05:00
Ben Sander 1e5540e07f Add debug for Peer APIs. Enable PeerMemcpy APIs by default.
Change-Id: I46e39a9e7b07686a78484c1f3b5495b08e052fbb


[ROCm/hip commit: 3f0a2b8dc1]
2016-11-04 08:51:16 -05:00
Aditya Atluri 42130918bb added inter thread data movement intrinsics
Change-Id: I2a8a8ed49429cb7f96439bd28c4b83b5142737df


[ROCm/hip commit: f48c53534e]
2016-11-01 16:37:33 -05:00
Ben Sander 22b87992cf Print short hipLaunchKernel correctly.
Change-Id: I6ca03d7c707cd03d6982199830213953d5855f17


[ROCm/hip commit: 024d9ab090]
2016-10-27 23:09:32 -05:00
Ben Sander 2cfd770f1b Add initial hipProfileStart/Stop
And modify sample to show how to use.
Still needs some work to understand interaction with CXL.

Change-Id: I2579824d2dd7863ea23874d34f0dabb3cb305d3e


[ROCm/hip commit: bb58f4f6fc]
2016-10-27 23:09:32 -05:00
Ben Sander 9022f04992 Add two levels of HIP_PROFILE_API (1=short,2=long)
Change-Id: I7ef98589f8731fb879db109fd573c62b489f2b61


[ROCm/hip commit: ef8eac9b66]
2016-10-27 23:09:31 -05:00
Ben Sander 591f91f2da Fix scoped marker so begin/end ATP timestamps correct
Change-Id: Ic944d3fc00d7bc31b756c0e6c327b99eb489537e


[ROCm/hip commit: ab1836544a]
2016-10-27 23:09:31 -05:00
Ben Sander 0845025a21 Rename HIP_ATP_MARKER and profiling vars
HIP_PROFILE_API
HIP_DB_START_API
HIP_DB_STOP_API

Change-Id: I6c4da67212ff8217e6356a2622d4c6278a188c34


[ROCm/hip commit: e9056798f6]
2016-10-27 23:09:31 -05:00
Ben Sander 6972e6d87a Allow HIP_DB to be number or string flags (ie HIP_DB=api+mem+sync)
Add callbacks for processing env vars.

Change-Id: I4ddf50e2da56b1dae43f50657bc693b07b23c03d


[ROCm/hip commit: f5e8090f2f]
2016-10-27 23:09:31 -05:00
Ben Sander 770ae2611f Add HIP_PROFILE_START_API, HIP_PROFILE_STOP_API
Refactor HIP_INIT_API to call recordApiTrace.

Change-Id: Ieff4b5018236f59e49e1b9841474440a34f821df


[ROCm/hip commit: 710be682ca]
2016-10-27 23:09:31 -05:00
Ben Sander 494239ad61 Add per-thread API seqnum to debug
Change-Id: Ib13733a3e84cd56bae13a32bae40f936c20b7543


[ROCm/hip commit: 739bc37503]
2016-10-27 23:09:31 -05:00
Ben Sander a27124c1f6 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


[ROCm/hip commit: 346c519ace]
2016-10-27 23:09:31 -05:00
Aditya Atluri 84d64ef382 reverted change for cache size query
Change-Id: I44a1f43818cd287a2a3b6265f43d183f9bd5b71c


[ROCm/hip commit: e1c1b4c009]
2016-10-25 11:03:35 -05:00
Aditya Atluri 8580bba30c correct cachesize to output correct value
Change-Id: I5db031591eb718b0c12e78a35e4b19349de9526d


[ROCm/hip commit: 820a914b98]
2016-10-25 09:33:45 -05:00
Ben Sander 548a902c4b Fix P2P for async
Also improve HIP debug message: Add more DB_COPY1 messages. memcpyStr,
expand HIP_DB bitmask.


[ROCm/hip commit: 203348ac9b]
2016-10-20 10:02:23 -05:00
Ben Sander 56cc2e3deb Add HIP_WAIT_MODE env var.
Also weaken cases where hipSetDeviceFlags returns hipErrorInvalidValue.

Change-Id: I7f113338be6fe498eaf1ab40fd0fd6b23849bb5e


[ROCm/hip commit: 000d75de95]
2016-10-18 22:27:16 -05:00
Ben Sander 02123ae867 Add hipDeviceSchedule* support to queue wait
Change-Id: Iffa7a356500b026f3737c3f5719ca9f62b10d855


[ROCm/hip commit: 261ff423e1]
2016-10-18 22:27:16 -05:00
Ben Sander 35801146d2 Remove some TODO items
Change-Id: I7e9de2e43a8584f8dc9ee6d45c8ed00ca465f591


[ROCm/hip commit: d21d3ec222]
2016-10-18 22:27:16 -05:00
Ben Sander c11b6f511b Move some internal headers from "include/hip/" to src.
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e


[ROCm/hip commit: 9315ac1a29]
2016-10-18 22:27:16 -05:00
Maneesh Gupta dd60b971d1 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf


[ROCm/hip commit: 8471682f26]
2016-10-15 22:55:22 +05:30
Ben Sander a76cc1e850 Cleanup files from code review.
- Remove some stale code
- Update docs
- Correct define for __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__

Change-Id: Ic5e3cdb8269b1c18f6d2693700b55e08c4d0080e


[ROCm/hip commit: c54220eca9]
2016-10-15 11:51:20 -05:00
Ben Sander 20b6547a91 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


[ROCm/hip commit: 50e0a363ce]
2016-10-14 23:46:29 -05:00
Ben Sander 252e32859e Fix HIP_USE_PRODUCT_NAME detection.
Change-Id: I6879ec3a11845bea66a18a9328bd4eaf54713420


[ROCm/hip commit: 89012201c9]
2016-10-13 11:51:53 -05:00
pensun 7b8e824779 Add ifdef guard for the feature requires ROCm1.3
Change-Id: I7154517c47000c37fe5eb09a3c1cf2a9aacbe27c


[ROCm/hip commit: b70409f3ad]
2016-10-13 10:57:31 -05:00
Aditya Atluri d89712028a added constant memory property to 16KB
Change-Id: If067b4057c2e3fc0c26cf4604a1d4fac7f139b12


[ROCm/hip commit: 237837d9bd]
2016-10-13 10:47:40 -05:00
pensun 9544b72d94 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


[ROCm/hip commit: c3f375327f]
2016-10-12 20:01:30 -05:00
Aditya Atluri ef0cb7d619 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


[ROCm/hip commit: 62ec53740c]
2016-10-12 19:58:48 -05:00
Aditya Atluri 6591712299 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


[ROCm/hip commit: d24a7ef12b]
2016-10-12 19:08:34 -05:00
Ben Sander bb3ce0631d Add DISABLE_COPY_EXT option.
[ROCm/hip commit: dee364cb08]
2016-10-05 12:18:42 -05:00
Ben Sander cc0dab0113 Add HIP_BLOCKING_SYNC environment var to control stream sync behavior.
[ROCm/hip commit: 821080487a]
2016-10-05 12:18:42 -05:00
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 7f7340fb29 Add debug option to print ThreadID with each message.
Also print messages with single fprintf to prevents threads from
interleaving.

Change-Id: Ib3999fe6b1e67b4a16cd7dcde82f3dfc99dd48ff


[ROCm/hip commit: 6de9136002]
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
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 21d1c29312 Remove unpinned_copy code. Other cleanup.
Change-Id: Ie3f71439cf1ba729ef223d078917c403d3de879a


[ROCm/hip commit: c645e53fdd]
2016-09-22 14:21:19 -05:00
Ben Sander b9a0abe32e Cleanup. Remove cfs, ihipSignal_t, staging buffer calls.
Change-Id: I8bb67c484e3a65be06a03665f059217930da2bed


[ROCm/hip commit: e0ce1d3954]
2016-09-22 14:21:19 -05:00
Ben Sander 41c4ea49ba Cleanup: Remove HIP signal pool.
Change-Id: Icebfd0509d12396cc5933d5556d68b53e1be36e0


[ROCm/hip commit: 12cb1d88aa]
2016-09-22 14:21:19 -05:00
Ben Sander a9e3786e0c Remove HIP command dependency tracking.
Change-Id: I991c13bc5108193959ba70f9f6f9c692c9ad3a5b


[ROCm/hip commit: 7530fa6dbe]
2016-09-22 14:21:19 -05:00
Ben Sander f145954a9d Cleanup, remove preCopyCommand.
Change-Id: I3768d3789a99be8136b43179d4152fa1875665cb


[ROCm/hip commit: 8c4cecf367]
2016-09-22 14:21:19 -05:00