Events can be used to track status and dependencies, as well as to measure the duration of work submitted to a CUDA stream.
In CUDA, most work is performed asynchronously. Events help to manage tasks scheduled on an asynchronous stream. This includes waiting for a task (or multiple tasks) to complete, and measuring the time duration it takes to complete a task. Events can also be used to sequence tasks on multiple streams within the same context by specifying dependent tasks (not supported yet by RustaCUDA).
Events may be reused multiple times.
An event to track work submitted to a stream.
Bit flags for configuring a CUDA Event.
Status enum that represents the current status of an event.