pub struct EngramLayerWeights {
pub layer: usize,
pub wkv: DevicePtr,
pub qk: DevicePtr,
pub raw: DevicePtr,
pub rows: DevicePtr,
pub wkv_q2k: DevicePtr,
}Expand description
One engram layer’s resident weights on the device.
Fields§
§layer: usize§wkv: DevicePtr[dim * (hc + 1), cols * head_dim] bf16.
qk: DevicePtr[hc, dim] f32, the elementwise product q_weight * k_weight.
raw: DevicePtrThis layer’s row workspace (add_layer allocates): the raw Q2_K rows
and their bf16 expansion, so every engram layer’s rows for a step can
be resident at once (the whole-step graph uploads them all up front).
rows: DevicePtr§wkv_q2k: DevicePtrwkv as the GGUF ships it, [out, in / 256] raw Q2_K blocks (84 B),
read by the single-token projection in place of the bf16 expansion
(6x fewer bytes a token, byte-identical results); null = bf16 only.
Auto Trait Implementations§
impl Freeze for EngramLayerWeights
impl RefUnwindSafe for EngramLayerWeights
impl Send for EngramLayerWeights
impl Sync for EngramLayerWeights
impl Unpin for EngramLayerWeights
impl UnwindSafe for EngramLayerWeights
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