Expand description
Owner-bearing access recorder for one CUDA launch.
The recorder retains real allocations/import tokens without retaining Rust borrows, so callers can subsequently build mutable kernel parameters. Exact CUDA context and byte spans participate in the same atomic admission as safe device copies, including independently imported overlapping views. Runtime-only block identities are validated against the owning allocator.
enqueue admits the whole manifest, arms cleanup, queues dependency waits,
and invokes one synchronous enqueue closure on the resolved stream. Commit
publishes every shared dependency before releasing the reservation. Failure
or unwind synchronizes possible work; unknown completion retains the actual
owners and the whole reservation.
Both modes retain owner-bearing sources. Strict mode is additionally required by sealed resident execution domains. Neither mode permits arbitrary writes by an external framework: unsafe import must establish the producer handoff, and subsequent foreign access still requires coordination with that producer.
Structs§
- Cuda
Enqueue - Borrowed authority for one already-admitted enqueue. Nested kernel and graph submissions use this proof rather than re-entering capture or memory admission. It cannot escape the callback or be reconstructed from a CUDA stream handle.
- Enqueued
Launch - Enqueued operation that must be completed or cancelled exactly once.
- Launch
Recorder - Records buffer uses for a single launch or copy on
launch_stream. Consume it withSelf::enqueue, then consume the returnedEnqueuedLaunchwithcommitorabort. Dropping a prepared transaction automatically aborts it and never panics.
Enums§
- Launch
Enqueue Error - Failure while preparing, enqueueing, or cleaning up a recorded operation.
- Recorder
Mode - Recorder construction mode.