You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cudax::stream A, B;
auto e = A.record_event();
A.wait();
// Block the calling host thread.
// Equivalent to: `cudaStreamSynchronize`.
B.wait(e);
// Does NOT block the calling host thread.
// Equivalent to: `cudaStreamWaitEvent`.
cudax::stream::wait has three overloads:
wait(), which blocks the caller until the stream's work is complete.
wait(event_ref), which makes the stream wait for the event before completing any other work. This does not block.
wait(stream_ref), which makes the stream wait for the stream before completing any other work. This does not block.
All the functions in well-designed function overload set should:
Perform the same fundamental operation, perhaps with different configurations, kinds of inputs, and
Provide the same contract.
Identical parameters should have the same constness and mutability.
Any semantics that can have subtle and hazardous implications should be identical: allocation, algorithmic complexity, and synchronization.
The wait(event_ref) and wait(stream_ref) functions need a different name. In Thrust's unique_stream I believe I called these depend_on.
The text was updated successfully, but these errors were encountered:
cudax::stream::wait
has three overloads:wait()
, which blocks the caller until the stream's work is complete.wait(event_ref)
, which makes the stream wait for the event before completing any other work. This does not block.wait(stream_ref)
, which makes the stream wait for the stream before completing any other work. This does not block.All the functions in well-designed function overload set should:
The
wait(event_ref)
andwait(stream_ref)
functions need a different name. In Thrust'sunique_stream
I believe I called thesedepend_on
.The text was updated successfully, but these errors were encountered: