ClikaRT::SynchronousStreamScope
class
Header: ClikaRT/compute/scope.h
While alive, every op dispatched on the calling thread WAITS for completion before the dispatch call returns, and stream runs at most one task at a time, so the moment a dispatch returns, the result is ready (Stream::query_idle() is true). Deterministic, ideal for debugging / per-op stepping; it trades away the throughput that async pipelining buys. The stream's prior limit is restored on destruction. Open it only on a quiescent stream (synchronize first). Non-copyable, non-movable.
Member functions
SynchronousStreamScope(Stream)
explicit SynchronousStreamScope(const Stream& stream)
Enter: ops issued on stream from this thread run synchronously until the scope exits.
Declared in ClikaRT/compute/scope.h, line 33
~SynchronousStreamScope()
~SynchronousStreamScope()
Exit: restores the stream's ordinary asynchronous issue.
Declared in ClikaRT/compute/scope.h, line 35
SynchronousStreamScope(SynchronousStreamScope)
SynchronousStreamScope(const SynchronousStreamScope&) =delete
Declared in ClikaRT/compute/scope.h, line 36
operator=()
SynchronousStreamScope& operator=(const SynchronousStreamScope&) =delete
Declared in ClikaRT/compute/scope.h, line 37