Skip to main content

Q8KActsX4

Struct Q8KActsX4 

Source
pub struct Q8KActsX4 {
    pub na: usize,
    pub n_blocks: usize,
    pub qs: Vec<i8>,
    pub bsums: Vec<i16>,
    pub d: Vec<f32>,
}

Fields§

§na: usize

Real activations in the quad (≤ 4); rows na..4 are zero padding.

§n_blocks: usize

Q8_K super-blocks per activation (n_cols / 256).

§qs: Vec<i8>

Interleaved quants, n_blocks * 1024 long. Block b, 8-element run c, quad row a, lane kqs[b*1024 + c*32 + a*8 + k] = acts[a].q[b*256 + c*8 + k].

§bsums: Vec<i16>

Folded bsums pairs, n_blocks * 4 * 8 long: bsums[(b*4 + a)*8 + i] = acts[a].bsums[b*16 + 2i] + acts[a].bsums[b*16 + 2i + 1].

§d: Vec<f32>

Activation scales, n_blocks * 4 long: d[b*4 + a] = acts[a].d[b].

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.