pub struct KdaScanInputs {
pub q: CudaSlice<f32>,
pub k: CudaSlice<f32>,
pub v: CudaSlice<f32>,
pub g: CudaSlice<f32>,
pub beta: CudaSlice<f32>,
}Expand description
The scan-input buffers of one KDA step, STOLEN from the step instead of dropped
(lane/glm5-loop-port, port 3 — the module doc’s named GdnStash/ReplaySSM diet): the
glm5 verify walk’s rollback checkpoint keeps these ~160 KB of already-allocated
buffers per row per layer and retires the per-row 4 MiB recurrent-state clones
(~0.95 GiB transient at K=7). Replaying kda_scan over them from a pre-round state
snapshot rebuilds the post-row state EXACTLY: each replay is the ORIGINAL t=1 launch
re-issued — same kernel, same inputs, same shape — so the rebuilt state is
byte-identical to the clone it replaces by construction, not by a numeric argument.
Fields§
§q: CudaSlice<f32>§k: CudaSlice<f32>§v: CudaSlice<f32>§g: CudaSlice<f32>§beta: CudaSlice<f32>Auto Trait Implementations§
impl Freeze for KdaScanInputs
impl RefUnwindSafe for KdaScanInputs
impl Send for KdaScanInputs
impl Sync for KdaScanInputs
impl Unpin for KdaScanInputs
impl UnsafeUnpin for KdaScanInputs
impl UnwindSafe for KdaScanInputs
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