pub trait QuantizedKVCache {
// Required methods
fn store_key(&mut self, layer: usize, pos: usize, key: &[f32]);
fn store_value(&mut self, layer: usize, pos: usize, value: &[f32]);
fn dequantize_key_into(&mut self, layer: usize, pos: usize, out: &mut [f32]);
fn dequantize_value_into(
&mut self,
layer: usize,
pos: usize,
out: &mut [f32],
);
fn reset(&mut self);
fn pos(&self) -> usize;
fn set_pos(&mut self, pos: usize);
}Expand description
Shared interface for quantized KV caches.
Enables transformer::forward_quantized to work with any compression
backend (TurboQuant, SpectralQuant, OscKV, ShardKV, KVarN, or future
methods). Backends implement this trait; the inference loop stays
backend-agnostic.
Required Methods§
Sourcefn store_key(&mut self, layer: usize, pos: usize, key: &[f32])
fn store_key(&mut self, layer: usize, pos: usize, key: &[f32])
Quantize and store a key vector at given layer and position.
Sourcefn store_value(&mut self, layer: usize, pos: usize, value: &[f32])
fn store_value(&mut self, layer: usize, pos: usize, value: &[f32])
Quantize and store a value vector at given layer and position.
Sourcefn dequantize_key_into(&mut self, layer: usize, pos: usize, out: &mut [f32])
fn dequantize_key_into(&mut self, layer: usize, pos: usize, out: &mut [f32])
Dequantize a key into a pre-allocated buffer (zero-alloc hot path).
Sourcefn dequantize_value_into(&mut self, layer: usize, pos: usize, out: &mut [f32])
fn dequantize_value_into(&mut self, layer: usize, pos: usize, out: &mut [f32])
Dequantize a value into a pre-allocated buffer (zero-alloc hot path).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".