Skip to main content

StepWs

Struct StepWs 

Source
pub struct StepWs {
Show 56 fields pub h_a: CudaSlice<f32>, pub h_b: CudaSlice<f32>, pub h_rx: CudaSlice<f32>, pub emb: CudaSlice<f32>, pub mixes: CudaSlice<f32>, pub pre: CudaSlice<f32>, pub post: CudaSlice<f32>, pub comb: CudaSlice<f32>, pub y_hc: CudaSlice<f32>, pub x: CudaSlice<f32>, pub xf: CudaSlice<f32>, pub qr: CudaSlice<f32>, pub qr_b: CudaSlice<u8>, pub q: CudaSlice<f32>, pub kv: CudaSlice<f32>, pub qi: CudaSlice<f32>, pub wproj: CudaSlice<f32>, pub score: CudaSlice<f32>, pub idx: CudaSlice<i32>, pub o: CudaSlice<f32>, pub o_b: CudaSlice<u8>, pub og: CudaSlice<f32>, pub attn_out: CudaSlice<f32>, pub gemm_xb: CudaSlice<u8>, pub raw: CudaSlice<f32>, pub sel: CudaSlice<i32>, pub selw: CudaSlice<f32>, pub order: CudaSlice<i32>, pub xq: CudaSlice<u8>, pub xs: CudaSlice<f32>, pub g1: CudaSlice<f32>, pub g3: CudaSlice<f32>, pub hbuf: CudaSlice<f32>, pub hq: CudaSlice<u8>, pub hs: CudaSlice<f32>, pub contrib: CudaSlice<f32>, pub y: CudaSlice<f32>, pub xb: CudaSlice<u8>, pub sg1: CudaSlice<f32>, pub sg3: CudaSlice<f32>, pub shbuf: CudaSlice<f32>, pub shb16: CudaSlice<u8>, pub sh_out: CudaSlice<f32>, pub cmp_kv_row: CudaSlice<f32>, pub cmp_sc_row: CudaSlice<f32>, pub cmp_emit: CudaSlice<f32>, pub cmp_shift: CudaSlice<f32>, pub sink_scores: CudaSlice<f32>, pub sink_evals: CudaSlice<f32>, pub sink_den: CudaSlice<f64>, pub head_mixes: CudaSlice<f32>, pub head_pre: CudaSlice<f32>, pub collapsed: CudaSlice<f32>, pub logits: CudaSlice<f32>, pub argmax: CudaSlice<i32>, pub tok: CudaSlice<i32>,
}
Expand description

Lane-8 per-stage decode workspace: every per-step buffer preallocated ONCE (the legacy path issues ~3,086 allocAsync+memset+free triplets per step — rung-0 profile). Every buffer is fully rewritten before it is read within a step; the consumers (sink_attn via idx pads, combine via order, top-k via exact nb) read exactly the regions written this step, so no per-step zeroing exists at all.

Fields§

§h_a: CudaSlice<f32>§h_b: CudaSlice<f32>§h_rx: CudaSlice<f32>§emb: CudaSlice<f32>§mixes: CudaSlice<f32>§pre: CudaSlice<f32>§post: CudaSlice<f32>§comb: CudaSlice<f32>§y_hc: CudaSlice<f32>§x: CudaSlice<f32>§xf: CudaSlice<f32>§qr: CudaSlice<f32>§qr_b: CudaSlice<u8>§q: CudaSlice<f32>§kv: CudaSlice<f32>§qi: CudaSlice<f32>§wproj: CudaSlice<f32>§score: CudaSlice<f32>§idx: CudaSlice<i32>§o: CudaSlice<f32>§o_b: CudaSlice<u8>§og: CudaSlice<f32>§attn_out: CudaSlice<f32>§gemm_xb: CudaSlice<u8>§raw: CudaSlice<f32>§sel: CudaSlice<i32>§selw: CudaSlice<f32>§order: CudaSlice<i32>§xq: CudaSlice<u8>§xs: CudaSlice<f32>§g1: CudaSlice<f32>§g3: CudaSlice<f32>§hbuf: CudaSlice<f32>§hq: CudaSlice<u8>§hs: CudaSlice<f32>§contrib: CudaSlice<f32>§y: CudaSlice<f32>§xb: CudaSlice<u8>§sg1: CudaSlice<f32>§sg3: CudaSlice<f32>§shbuf: CudaSlice<f32>§shb16: CudaSlice<u8>§sh_out: CudaSlice<f32>§cmp_kv_row: CudaSlice<f32>§cmp_sc_row: CudaSlice<f32>§cmp_emit: CudaSlice<f32>§cmp_shift: CudaSlice<f32>§sink_scores: CudaSlice<f32>§sink_evals: CudaSlice<f32>§sink_den: CudaSlice<f64>§head_mixes: CudaSlice<f32>§head_pre: CudaSlice<f32>§collapsed: CudaSlice<f32>§logits: CudaSlice<f32>§argmax: CudaSlice<i32>§tok: CudaSlice<i32>

Auto Trait Implementations§

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> Same for T

Source§

type Output = T

Should always be Self
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.