Streams of work for the device to perform.
In CUDA, most work is performed asynchronously. Even tasks such as memory copying can be scheduled by the host and performed when ready. Scheduling this work is done using a Stream.
A stream is required for all asynchronous tasks in CUDA, such as kernel launches and asynchronous memory copying. Each task in a stream is performed in the order it was scheduled, and tasks within a stream cannot overlap. Tasks scheduled in multiple streams may interleave or execute concurrently. Sequencing between multiple streams can be achieved using events, which are not currently supported by RustaCUDA. Finally, the host can wait for all work scheduled in a stream to be completed.
A stream of work for the device to perform.
Bit flags for configuring a CUDA Stream.
Bit flags for configuring a CUDA Stream waiting on an CUDA Event.