pub enum CapturedOpKind {
RmsNorm,
ElemMul,
ElemAdd,
Sdpa,
Softmax,
Other,
}Expand description
Operation kind tag for captured nodes, used by the fusion pass (4e.2).
When the encoder is in capture mode, each dispatch can be tagged with an
OpKind so the fusion pass can identify fuseable sequences without
inspecting pipeline names.
Variants§
RmsNorm
RMS normalization (with learned scale).
ElemMul
Elementwise multiply.
ElemAdd
Elementwise add.
Sdpa
Scaled dot-product attention (NOT reorderable — breaks lookahead).
Softmax
Softmax (NOT reorderable — breaks lookahead).
Other
Any other operation — treated as reorderable by the graph optimizer.
Implementations§
Source§impl CapturedOpKind
impl CapturedOpKind
Sourcepub fn is_reorderable(&self) -> bool
pub fn is_reorderable(&self) -> bool
Whether this captured op kind is safe to reorder past in the graph optimizer (Phase 4e.3).
Mirrors the h_safe whitelist from llama.cpp’s
ggml_metal_graph_optimize_reorder. Non-safe ops break the 64-node
lookahead — the reorder pass cannot look past them.
Trait Implementations§
Source§impl Clone for CapturedOpKind
impl Clone for CapturedOpKind
Source§fn clone(&self) -> CapturedOpKind
fn clone(&self) -> CapturedOpKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapturedOpKind
impl Debug for CapturedOpKind
Source§impl PartialEq for CapturedOpKind
impl PartialEq for CapturedOpKind
Source§fn eq(&self, other: &CapturedOpKind) -> bool
fn eq(&self, other: &CapturedOpKind) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for CapturedOpKind
impl Eq for CapturedOpKind
impl StructuralPartialEq for CapturedOpKind
Auto Trait Implementations§
impl Freeze for CapturedOpKind
impl RefUnwindSafe for CapturedOpKind
impl Send for CapturedOpKind
impl Sync for CapturedOpKind
impl Unpin for CapturedOpKind
impl UnsafeUnpin for CapturedOpKind
impl UnwindSafe for CapturedOpKind
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