Skip to main content

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