pub struct Q8Ref {
pub quants: String,
pub scales: String,
pub in_dim: usize,
pub out_dim: usize,
}Expand description
A Q8_0 weight loaded resident as int8 quants + f32 block scales (the real Qwen weights: 8 GB int8 fits
a 12 GB card where 32 GB of f32 would not). Dequant W[o][t] = quants[o*in+t] * scales[o*nb + t/32] — the
matmul against it becomes a dequant-in-kernel GEMV, matching codegen_cuda::qwen’s certified matvec.
Fields§
§quants: String§scales: String§in_dim: usize§out_dim: usizeTrait Implementations§
Auto Trait Implementations§
impl Freeze for Q8Ref
impl RefUnwindSafe for Q8Ref
impl Send for Q8Ref
impl Sync for Q8Ref
impl Unpin for Q8Ref
impl UnsafeUnpin for Q8Ref
impl UnwindSafe for Q8Ref
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.