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§
impl Freeze for StepWs
impl RefUnwindSafe for StepWs
impl Send for StepWs
impl Sync for StepWs
impl Unpin for StepWs
impl UnsafeUnpin for StepWs
impl UnwindSafe for StepWs
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