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.
This commit is contained in:
Ben Sander
2017-05-12 17:04:23 -05:00
parent 5d2072aba1
commit 8bc6ee5932
11 changed files with 320 additions and 96 deletions
@@ -602,9 +602,12 @@ hipError_t hipStreamQuery(hipStream_t stream);
*
* @return #hipSuccess, #hipErrorInvalidResourceHandle
*
* If the null stream is specified, this command blocks until all
* This command is host-synchronous : the host will block until the specified stream is empty.
*
* This command follows standard null-stream semantics. Specifically, specifying the null stream will cause the
* command to wait for other streams on the same device to complete all pending operations.
*
* This command honors the hipDeviceLaunchBlocking flag, which controls whether the wait is active or blocking.
* This command is host-synchronous : the host will block until the stream is empty.
*
* @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamWaitEvent, hipStreamDestroy
*