Commit Graph

309 Commits

Author SHA1 Message Date
Ben Sander 344b6cb0c0 Enable HIP_SYNC_NULL_STREAM=0 optimization. 2017-06-05 08:50:41 -05:00
Ben Sander 823281dcba Fix HIP_SYNC_NULL_STREAM=0 mode.
- Fix null-stream sync
- hipStreamDestroy of null stream returns hipErrorInvalidResourceHandle
- Update documentation.
- Add tests for null stream sync, hipEventElapsedTime.
- Rename internal enum hipEventStatusRecorded to hipEventStatusComplete
- refactor hipStreamWaitEvent to streamline control-flow
2017-06-05 08:50:22 -05:00
Ben Sander 15f54fb943 Update tests, add p2p coherency test. 2017-06-03 17:11:34 -05:00
Ben Sander 942ec0eff8 Add event controls for release fences.
Env var : HIP_EVENT_SYS_RELEASE
Event allocation flags : hipEventReleaseToDevice, hipEventReleaseToSystem
   (remove hipEventDisableSystemRelease)

Update test for new functionality.
2017-05-27 16:02:34 -05:00
Ben Sander c8178c6838 Cleanup hipEvent. (Intermediate checkpoint)
Support hipEventDisableSystemRelease flag.
Update test.
Remove stray printf
2017-05-27 16:02:34 -05:00
Ben Sander 35212632e7 Remove HIP_NUM_KERNELS_INFLIGHT. (redundant with HCC controls) 2017-05-24 01:03:28 -05:00
Ben Sander dda70ae514 Add hipHostMallocCoherent, hipHostMallocNonCoherent
Provide per-allocation control over coherent/non-coherent mem.
These overrid the default HIP_COHERENT_HOST_ALLOC setting.
2017-05-24 00:48:10 -05:00
Ben Sander d43d57d39c Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES) 2017-05-23 23:48:01 -05:00
Ben Sander 2d5b3359c6 Use accelerator_scope for create_marker and create_blocking_marker.
As optimization when system-scope is not needed.
2017-05-23 23:15:45 -05:00
Ben Sander 8bc6ee5932 Add initial HIP_SYNC_NULL_STREAM=0 mode.
This eliminates host-synchronization for null stream.  Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.

Add enhanced null-stream test.

Also refine HIP_TRACE_API.
2017-05-16 19:04:25 -05:00
Ben Sander 7e7ba5027f Add HIP_TRACE_API=4. Only display memory allocation/free apis. 2017-05-16 19:04:25 -05:00
Aditya Atluri a6dc00f167 added gfx900 to hipDeviceProp_t
Change-Id: I49e7a32f218926fd55f1c94c5dc2366d6c8ac4ca
2017-05-12 21:43:34 -05:00
Ben Sander c7c62dd022 Remove old USE_ switches no longer needed. 2017-05-12 16:06:03 -05:00
Ben Sander 2c2625cb9e Add hipEventDisableSystemRelease flag. 2017-05-12 16:06:03 -05:00
Ben Sander ff9bed6535 hipHostMalloc allocation are mapped to all devices by default.
Support hipHostMallocPortable flag.
Default flags are hipHostMallocPortable | hipHostMallocMapped.

Also:
-refactor tests to move addCount and addCountReverse into HipTest
namespace.
-test multi-GPU host memory.
2017-05-10 17:34:36 -05:00
Ben Sander 3da8e94cbf Tailor pointer info for src/dst before calling HCC copy routines.
HCC sometimes uses the srcPtrInfo or dstPtrInfo to determine the
pointer.  Make sure these use the actual pointer and not the base
of the allocation.
2017-04-24 22:30:54 -05:00
Ben Sander dfacfbb641 Fix hip debug for case where copyAgent is null (host-to-host) 2017-04-24 22:30:54 -05:00
sunway513 f442e975c6 Refactor events and add initial event option for hipHccModuleLaunchKernel
- Change hipEvent_t to a class.
- Move event logic inside the class.
- Add _type to support Independent, StartCommand, StopCommand events.
  StartCommand returns start timestamp from events.

Change-Id: I4ddd694f2645a3ff7170c9111dc1d3e39931ca21
2017-04-06 21:02:50 -05:00
Aditya Atluri 1cead6a4cd added new api hipHccModuleLaunchKernel
1. hipHccModuleLaunchKernel is same as hipModuleLaunchKernel with OpenCL workitem model
2. Added copy right
3. Fixed header naming

Change-Id: I6a7c35a3566e2f8d3f5056613e34193775d4b236
2017-03-31 12:11:34 -05:00
Rahul Garg dfa516f804 Fix for hipMemcpyFromSymbolAsync
Change-Id: I449c669c8f0ef041deaf0a1bc812a71b2f0cc5a6
2017-03-24 10:30:33 +05:30
Rahul Garg e22044de36 Fix for hipMemcpyFromSymbol (sync)
Change-Id: I66afec5443ce904a63ced1fafece5144ca59393e
2017-03-21 23:48:04 +05:30
pensun ad882222b0 Initial integration with Alex' Generic Grid Launch
Change-Id: I559afb80e9e39ec0d119bb3bf3b85ef9e448caf6
2017-03-17 14:59:34 -05:00
Ben Sander e43592721e Update hipHostRegister debug and pointerTracker debug and notes 2017-03-11 09:18:27 -06:00
Aditya Atluri 9f575721aa added new field to hipDeviceProp_t structure gcnArch.
1. It is an integer containing gfx values 701, 801, 802, 803
2. On NV path, it is zero

Change-Id: I2b4c7f48981d0214d8c6b1905d2cc85b16203419
2017-03-07 11:24:32 -06:00
Rahul Garg 158cb58c36 Removed hsakmt headers
Change-Id: I4ffc95d5823489195ebc5638226b49ea2995f603
2017-03-06 22:37:05 +05:30
Rahul Garg c837b8d713 Context management related changes in HIP.
-
-Contexts across threads are listed under device
-Device reset cleans up all contexts and re-initializes _primaryCtx

Change-Id: Ie1cfbb26d43a8dc6869be3e6ebaf7344ce374643
2017-02-27 15:24:17 +05:30
Aditya Atluri 7ac5017cb9 Added initial support for hipMemcpyFromSymbol. But not working!
Change-Id: I48d8c7de4ec9f85c6c942be995fb488a3931f5d7
2017-02-23 11:29:06 -06:00
Aditya Atluri 3d348b2d81 added runtime api hipMemcpyFromSymbolAsync
Change-Id: Ibaf925faf0ba464dd0ed6c5ea74c224c2ce38889
2017-02-22 19:16:35 -06:00
Aditya Atluri 0d4e6ae60a fixed symbol memcpy issue
Change-Id: I89d7401be51d194bcbf771020ba66e3d3b6a18f8
2017-02-01 17:54:59 -06:00
Ben Sander 1a24178c78 Add HIP_FAIL_SOC.
Fail sub-optimal-copies rather than perform them slowly.
SOC occur on async copy of unpinned memory, or P2P copy between GPUs
that are not peers.
2017-01-25 21:53:17 -06:00
Ben Sander 2f7a8ec39c Read HCC_OPT_FLUSH and optimize dispatch accordingly.
If HCC is in this mode, we can use less aggressive flushes in some
cases.
2017-01-25 21:50:52 -06:00
Ben Sander bc809460f5 Move core env var processing to env.cpp 2017-01-23 22:34:41 -06:00
Ben Sander 4de3df746c Add debug tips to docs 2017-01-23 22:34:41 -06:00
Ben Sander db3f4889ca Add HIP_SYNC_HOST_ALLOC, HipReadEnv 2017-01-19 23:55:24 -06:00
Ben Sander ca1cef4e06 Doc update - describe debug techniques
Also tweak sample to remove unneeded HIP_KERNEL_NAME.
Comment update
2017-01-19 12:40:45 -06:00
Aditya Atluri e9ff23e5f9 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574
2017-01-11 18:05:41 -06:00
Ben Sander b29fbf736d 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.
2017-01-09 21:02:56 -06:00
Ben Sander c9f5fe34e6 First pass at virtualized queue support.
Also updated stream debug messages to consistently use trace_helper.
2017-01-09 21:02:53 -06:00
Ben Sander 49d1477b9d tolerate spaces in hip args 2017-01-09 20:57:13 -06:00
Rahul Garg 090eadd0bd Added state for hipDevice.
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa
2017-01-09 23:54:01 +05:30
Ben Sander fd5b0c68b1 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.
2016-12-22 12:25:09 -06:00
Ben Sander cf338d716b Increment API sequence number.
Change name to tls_tidInfo
2016-12-21 15:30:36 -06:00
Rahul Garg 4988975b59 Fix for HCSWAP-67
Change-Id: I0b2ce5ab933237947fb41d89769db3da16e5be6a

Conflicts:
	src/hip_hcc.cpp
2016-12-19 16:19:51 +05:30
Ben Sander 06d382bc6d Remove USE_DISPATCH_HSA_KERNEL=0 path. 2016-12-17 07:22:56 -06:00
pensun 4cb1579d4a HIP resource leaks fix from Jack
Change-Id: I93f3ad7cb94ff1cba1577bd8acc90e826693d12e
2016-12-05 20:21:33 -06:00
Maneesh Gupta ac93376c26 Revert "Enable USE_DISPATCH_HSA_KERNEL."
This reverts commit f8bcbe8680.
2016-12-05 16:55:26 +05:30
Ben Sander f8bcbe8680 Enable USE_DISPATCH_HSA_KERNEL.
Optimize hipLaunchModule dispatch latency.
2016-12-04 00:13:19 -06:00
Ben Sander 783ac156ce 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
2016-12-02 18:03:59 -06:00
pensun 504fcaf786 Change to use produce device name by default
Change-Id: Ie2cee2a2e94a08b5874a2f5abee5d1ab6c9fdf47
2016-11-29 11:34:06 -06:00
Ben Sander a504df955e Add more debug info 2016-11-26 08:56:02 -06:00