Commit Graph

278 Commits

Author SHA1 Message Date
Ben Sander 3be19a4ffa Move core env var processing to env.cpp
[ROCm/hip commit: 0dabdeb01f]
2017-01-23 22:34:41 -06:00
Ben Sander f9ecf383e3 Add debug tips to docs
[ROCm/hip commit: 96eac67929]
2017-01-23 22:34:41 -06:00
Ben Sander 7a402a7fb1 Add HIP_SYNC_HOST_ALLOC, HipReadEnv
[ROCm/hip commit: 927ac3d81c]
2017-01-19 23:55:24 -06:00
Ben Sander 5998ca2d85 Doc update - describe debug techniques
Also tweak sample to remove unneeded HIP_KERNEL_NAME.
Comment update


[ROCm/hip commit: 1f5d16afe7]
2017-01-19 12:40:45 -06:00
Aditya Atluri 5de29029cd changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574


[ROCm/hip commit: 73fcce26f9]
2017-01-11 18:05:41 -06:00
Ben Sander 1908d9504b 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/hip commit: a3e0012567]
2017-01-09 21:02:56 -06:00
Ben Sander bbb1485a83 First pass at virtualized queue support.
Also updated stream debug messages to consistently use trace_helper.


[ROCm/hip commit: 93fbc9cf7b]
2017-01-09 21:02:53 -06:00
Ben Sander 72f6afab45 tolerate spaces in hip args
[ROCm/hip commit: 3a42a7642a]
2017-01-09 20:57:13 -06:00
Rahul Garg 2e9defbef8 Added state for hipDevice.
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa


[ROCm/hip commit: 5fb09879c7]
2017-01-09 23:54:01 +05:30
Ben Sander ec4f4a643d 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/hip commit: c325c988b1]
2016-12-22 12:25:09 -06:00
Ben Sander c1ac04322a Increment API sequence number.
Change name to tls_tidInfo


[ROCm/hip commit: 37d8cafb12]
2016-12-21 15:30:36 -06:00
Rahul Garg a93a5a41f3 Fix for HCSWAP-67
Change-Id: I0b2ce5ab933237947fb41d89769db3da16e5be6a

Conflicts:
	src/hip_hcc.cpp


[ROCm/hip commit: fbf7ed63a8]
2016-12-19 16:19:51 +05:30
Ben Sander f97cffdc48 Remove USE_DISPATCH_HSA_KERNEL=0 path.
[ROCm/hip commit: 6ed7e1c1c1]
2016-12-17 07:22:56 -06:00
pensun 569dfe1526 HIP resource leaks fix from Jack
Change-Id: I93f3ad7cb94ff1cba1577bd8acc90e826693d12e


[ROCm/hip commit: 778c6626fd]
2016-12-05 20:21:33 -06:00
Maneesh Gupta 73e0f36148 Revert "Enable USE_DISPATCH_HSA_KERNEL."
This reverts commit 891f956313.


[ROCm/hip commit: 46ffc69557]
2016-12-05 16:55:26 +05:30
Ben Sander 891f956313 Enable USE_DISPATCH_HSA_KERNEL.
Optimize hipLaunchModule dispatch latency.


[ROCm/hip commit: 097e4eb9d8]
2016-12-04 00:13:19 -06:00
Ben Sander ce01d26a87 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/hip commit: ff2f54c1bf]
2016-12-02 18:03:59 -06:00
pensun cd92d2a145 Change to use produce device name by default
Change-Id: Ie2cee2a2e94a08b5874a2f5abee5d1ab6c9fdf47


[ROCm/hip commit: 0dfcd3e664]
2016-11-29 11:34:06 -06:00
Ben Sander e7edba491b Add more debug info
[ROCm/hip commit: ce92a53f25]
2016-11-26 08:56:02 -06:00
Ben Sander 1cbb76ba24 Improve docs in some places
Change-Id: If31e84fbf0c8595ca72edb842dce7ce47783579b


[ROCm/hip commit: dec59d9909]
2016-11-23 08:16:18 -06:00
Ben Sander 2693958431 Improve debug capabilities.
Print TID mapping at init when HIP_TRACE_API=1.
Print base host/dev info from tracker during copy.

Change-Id: I84e26d7b801567e5a91baad36126fb590920ec87


[ROCm/hip commit: b6ae6b08fb]
2016-11-23 08:16:18 -06:00
Rahul Garg c49562d59c Removed hsaKmtReleaseSystemProperties call
Change-Id: I7cb992cccf587c333f0ca0cb518409f3944bdb06


[ROCm/hip commit: 2dcf20ac6f]
2016-11-22 06:15:35 +05:30
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