OpSpec

Struct OpSpec 

Source
pub struct OpSpec {
    pub op: String,
    pub roles: BTreeSet<LinearRole>,
    pub weight: BTreeSet<Format>,
    pub activation: BTreeSet<Format>,
    pub params: Values,
    pub feeds: BTreeSet<String>,
    pub after: BTreeSet<String>,
    pub beside: BTreeSet<String>,
}
Expand description

2026-09-29: An op a family implements, with the constraints a node must meet.

Fields§

§op: String

2026-09-29: Op base name (linear, paged_attention, …). 2026-10-02: or a quantizer with its output format (act_quant:nvfp4/g16).

§roles: BTreeSet<LinearRole>

2026-09-29: For linear: the roles it takes; empty is every role.

§weight: BTreeSet<Format>

2026-09-29: Allowed weight formats; empty is any.

§activation: BTreeSet<Format>

2026-09-29: Allowed first-input formats; empty is any.

§params: Values

2026-09-29: Node template parameters that must hold these values.

§feeds: BTreeSet<String>

2026-09-29: Ops one of which must read the node’s first output, by base name (l2_norm) or qualified name (linear:q); empty is no constraint. A kernel that fuses its consumer (a conv with its L2 norm) implements the op only where that consumer follows.

§after: BTreeSet<String>

2026-09-29: Ops one of which must produce the node’s first input, spelled as feeds; empty is no constraint (a snapshot of the conv window, not of the SSM state).

§beside: BTreeSet<String>

2026-09-29: Ops one of which must also read the node’s first input, spelled as feeds; empty is no constraint. A conv kernel that writes its window snapshot and the L2 norm of its output implements the snapshot only where the L2 norm reads beside it.

Implementations§

Source§

impl OpSpec

Source

pub fn names(&self, op: &OpKind) -> bool

2026-10-02: The spec names op: by base name, or by its qualified name (an act_quant with its format).

Trait Implementations§

Source§

impl Clone for OpSpec

Source§

fn clone(&self) -> OpSpec

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OpSpec

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for OpSpec

Source§

fn eq(&self, other: &OpSpec) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for OpSpec

Source§

impl StructuralPartialEq for OpSpec

Auto Trait Implementations§

§

impl Freeze for OpSpec

§

impl RefUnwindSafe for OpSpec

§

impl Send for OpSpec

§

impl Sync for OpSpec

§

impl Unpin for OpSpec

§

impl UnwindSafe for OpSpec

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.