pub enum PlanStep {
KernelLaunch {
nodes: Vec<NodeId>,
function_name: String,
config: KernelConfig,
stream: StreamId,
},
Memcpy {
node: NodeId,
dir: MemcpyDir,
size_bytes: usize,
stream: StreamId,
},
Memset {
node: NodeId,
size_bytes: usize,
value: u8,
stream: StreamId,
},
EventRecord {
event_id: usize,
stream: StreamId,
},
EventWait {
event_id: usize,
stream: StreamId,
},
HostCallback {
node: NodeId,
label: String,
stream: StreamId,
},
Barrier {
node: NodeId,
stream: StreamId,
},
}Expand description
A single step in the execution plan.
Variants§
KernelLaunch
Launch a (possibly fused) kernel.
Fields
§
config: KernelConfigLaunch configuration.
Memcpy
Transfer memory between host and device (or device to device).
Memset
Fill a device buffer with a byte pattern.
EventRecord
Record a CUDA event on stream to signal completion of preceding work.
EventWait
Wait for a previously recorded event before continuing on stream.
HostCallback
Host-side callback inserted into the stream.
Barrier
No-op barrier (no device work, used for explicit synchronisation).
Implementations§
Trait Implementations§
impl StructuralPartialEq for PlanStep
Auto Trait Implementations§
impl Freeze for PlanStep
impl RefUnwindSafe for PlanStep
impl Send for PlanStep
impl Sync for PlanStep
impl Unpin for PlanStep
impl UnsafeUnpin for PlanStep
impl UnwindSafe for PlanStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more