StepPlan

Enum StepPlan 

Source
pub enum StepPlan<'a> {
    Decode {
        tokens: Vec<u32>,
        ctx: DecodeCtxCommit,
        readback: Readback<'a>,
    },
    DecodeFed {
        sources: Vec<FeedSource>,
        masks: Vec<RowMask>,
        ctx: DecodeCtxCommit,
    },
}
Expand description

2026-09-25: One device step. The sequence rows it advances travel beside it as &mut S.

Variants§

§

Decode

2026-09-25: Batched decode of one token per row, the context commit, then the readback.

Fields

§tokens: Vec<u32>

2026-09-25: The pending decode input of each row, in row order.

§readback: Readback<'a>
§

DecodeFed

2026-09-25: A decode step launched while the previous one is still in flight: each row’s input is resolved on the device from sources, the readback is the masked feed argmax, and the host bookkeeping the plain step performs at launch (tokens.push, seq_len += 1) is deferred to the core, which applies it once the previous step is committed. The context commit runs between the forward and the readback, as it does for the plain step.

Fields

§sources: Vec<FeedSource>
§masks: Vec<RowMask>

Trait Implementations§

Source§

impl<'a> Debug for StepPlan<'a>

Source§

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

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

impl Label for StepPlan<'_>

Source§

fn label(&self) -> String

Auto Trait Implementations§

§

impl<'a> Freeze for StepPlan<'a>

§

impl<'a> RefUnwindSafe for StepPlan<'a>

§

impl<'a> Send for StepPlan<'a>

§

impl<'a> Sync for StepPlan<'a>

§

impl<'a> Unpin for StepPlan<'a>

§

impl<'a> !UnwindSafe for StepPlan<'a>

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> 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, 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.