pub struct DispatchEntry {
pub cb_label: String,
pub op_kind: &'static str,
pub dispatch_index: u32,
pub gpu_ns: u64,
pub start_gpu_ns: u64,
pub end_gpu_ns: u64,
}Expand description
One per-dispatch timing entry within a CB (ADR-015 iter63 Phase A).
Populated via MTLCounterSampleBuffer.sampleCounters calls inserted
between pipeline binding and the actual dispatch_threads /
dispatch_thread_groups call inside every
[crate::CommandEncoder::encode*] method. Resolved into ns from the
raw GPU-tick samples by record_dispatch using the (cpu, gpu) pair
captured at the most recent reset / dump_dispatches boundary.
Fields§
§cb_label: StringThe cb_label that owned this dispatch (mirrors the per-CB table key).
op_kind: &'static strCaptured op kind (“RmsNorm”, “Sdpa”, “ElemMul”, “ElemAdd”, “Softmax”,
“Other”). See crate::CapturedOpKind::name.
dispatch_index: u320-based ordinal within the CB.
gpu_ns: u64end_gpu_ns - start_gpu_ns, i.e. the wall-clock of this single
dispatch on the GPU. Already converted from raw GPU ticks.
start_gpu_ns: u64Raw start timestamp (ns since CPU epoch, after tick→ns conversion).
end_gpu_ns: u64Raw end timestamp (ns since CPU epoch, after tick→ns conversion).
Trait Implementations§
Source§impl Clone for DispatchEntry
impl Clone for DispatchEntry
Source§fn clone(&self) -> DispatchEntry
fn clone(&self) -> DispatchEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more