pub struct Clifford3BitTensor {
pub rows: usize,
pub cols: usize,
pub cache_lines: Vec<Clifford3BitCacheLine64>,
}Expand description
High-level Geometric 3-bit Quantized Tensor with Dyadic Versor Isometry.
Fields§
§rows: usize§cols: usize§cache_lines: Vec<Clifford3BitCacheLine64>Implementations§
Source§impl Clifford3BitTensor
impl Clifford3BitTensor
Sourcepub fn compile_aot(
weights: &[f32],
rows: usize,
cols: usize,
versor: &DyadicWalshVersor,
) -> Self
pub fn compile_aot( weights: &[f32], rows: usize, cols: usize, versor: &DyadicWalshVersor, ) -> Self
Compiles an unquantized FP32 weight matrix into the AOT rotated Clifford 3-bit representation.
Each row is first rotated by versor in-place, then packed into 64-byte cache lines.
Sourcepub fn matvec(&self, x: &[f32], out: &mut [f32], versor: &DyadicWalshVersor)
pub fn matvec(&self, x: &[f32], out: &mut [f32], versor: &DyadicWalshVersor)
Evaluates Matrix-Vector Product y = W * x using Dual Isometry: <W_row, x> == <R(W_row), R(x)>. The activation x is rotated ONCE in O(N log N); weights are operated on directly in 3-bit packed cache lines.
Trait Implementations§
Source§impl Clone for Clifford3BitTensor
impl Clone for Clifford3BitTensor
Auto Trait Implementations§
impl Forget for Clifford3BitTensor
impl Freeze for Clifford3BitTensor
impl Move for Clifford3BitTensor
impl RefUnwindSafe for Clifford3BitTensor
impl Send for Clifford3BitTensor
impl Sync for Clifford3BitTensor
impl Unpin for Clifford3BitTensor
impl UnsafeUnpin for Clifford3BitTensor
impl UnwindSafe for Clifford3BitTensor
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