pub struct DsparkState {
pub rings: Vec<CudaSlice<f32>>,
pub taps: CudaSlice<f32>,
}Expand description
DSpark decode-side state: the 3 per-block main_kv rings, each allocated
[win + block_size, hd] — rows [0, win) are the persistent ring (slot = pos % win,
M:783), rows [win, win+block) hold the CURRENT round’s transient draft kv (the
M:784 cat([kv_cache, draft_kv]) gather realized in one buffer; rewritten every
propose, never read as ring). Rings advance ONLY for committed positions
(dspark_write_rings) — the §3.1 drafter rule.
Fields§
§rings: Vec<CudaSlice<f32>>§taps: CudaSlice<f32>tap rows [t_max, n_targets*hidden] on the last stage: the hc-mean concat of layers 40/41/42, written by the decode step (and consumed by write_rings / forward_spec).
Auto Trait Implementations§
impl Freeze for DsparkState
impl RefUnwindSafe for DsparkState
impl Send for DsparkState
impl Sync for DsparkState
impl Unpin for DsparkState
impl UnsafeUnpin for DsparkState
impl UnwindSafe for DsparkState
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