pub struct KvCacheSnapshot {
pub keys: Vec<Vec<f32>>,
pub values: Vec<Vec<f32>>,
pub seq_len: usize,
}Expand description
A point-in-time snapshot of a KvCache state.
Created by KvCache::snapshot and restored via
KvCache::restore_from_snapshot. Used by
crate::speculative::SpeculativeDeltaSync to roll back the KV cache
after a draft token is rejected.
Fields§
§keys: Vec<Vec<f32>>Per-layer key vectors, each of length seq_len * kv_dim.
values: Vec<Vec<f32>>Per-layer value vectors, each of length seq_len * kv_dim.
seq_len: usizeThe sequence length at snapshot time.
Trait Implementations§
Source§impl Clone for KvCacheSnapshot
impl Clone for KvCacheSnapshot
Source§fn clone(&self) -> KvCacheSnapshot
fn clone(&self) -> KvCacheSnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KvCacheSnapshot
impl Debug for KvCacheSnapshot
Source§impl Decode for KvCacheSnapshot
impl Decode for KvCacheSnapshot
Auto Trait Implementations§
impl Freeze for KvCacheSnapshot
impl RefUnwindSafe for KvCacheSnapshot
impl Send for KvCacheSnapshot
impl Sync for KvCacheSnapshot
impl Unpin for KvCacheSnapshot
impl UnsafeUnpin for KvCacheSnapshot
impl UnwindSafe for KvCacheSnapshot
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more