Commit Graph

18 Commits

Author SHA1 Message Date
Ben Sander fff74eee21 hipStreamQuery uses av::is_empty. Add HIP_FORCE_NULL_STREAM. 2017-08-31 03:00:14 +00:00
Ben Sander ed8c3ba7e7 Refactor hipStreamWaitEvent
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.
2017-08-31 03:00:14 +00:00
Ben Sander bc9ba7cd81 Lock streams when waiting on event completion or querying event safety. 2017-08-28 18:40:16 -05:00
Ben Sander d6aee9ad8f Add some new HIP_TRACE_API options. 2017-08-16 04:00:33 +00:00
Rahul Garg c4e9323877 Updated context management logic:
1) hipSetDevice sets a flag so that next call to hipCtxGetCurrent returns primary context on current device
2) hipCtxGetCurrent returns primary context on current device if TLS context stack is empty
3) hipCtxPopCurrent falls back to primary context on current device as default
4) hipCtxPushCurrent, hipCtxSetCurrent and hipCtxCreate reset the flag set in hipSetDevice
2017-08-08 07:02:22 +05:30
Ben Sander 6576201ec2 Make host memory allocations coherent by default.
Associated change is to optimize event recording so it uses
agent-scope releaes (since it was only using system-scope release
to support non-coherent host mem).

Flags and environment variables exist to obtain previous behavior
if desired.  Options are documented in new performance guide.
2017-07-26 19:20:34 -05:00
Sun, Peng e5ce585307 Add support of HIP_HIDDEN_FREE_MEM, to deduct the returned available
memory from hipMemGetInfo API, measured in MB.

Change-Id: I7a8260c12e032e04e26611db4c38c893a29f2653
2017-06-26 15:29:38 -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 6cc5dc0326 Set event->_stream on hipHccModuleLaunchKernel path if start/stop used
Ensure _stream is always non-null in recorded events.
Fixes isDefaultStream fault.
2017-05-30 21:55:46 -05:00
Ben Sander b2b620c12b Add isDefaultStream() accessor.
Fix code that checked for stream==nullptr after stream had been
resolved to a "true stream".
2017-05-26 13:46:48 -05:00
Ben Sander d43d57d39c Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES) 2017-05-23 23:48:01 -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
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 e9eaadd135 Finish adding start/stop event support to hipHccModuleLaunchKernel.
Change interface to use hipEvent_t rather than hipEvent_t*

Change-Id: I259062dc087a13d51dc27f84e1e8861f332a104d
2017-04-06 21:02:50 -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 3859f59189 Fixed copyright and header names
Change-Id: Id595c65ea3b7289e87be4c42db5d8a31905a4fdd
2017-03-31 12:40:29 -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