[][src]Trait tract_linalg::frame::MatMatMul

pub trait MatMatMul<TA, TB, TC, TI>: Debug + Display + DynClone + Send + Sync + DynHash + Any where
    TA: Copy + Zero + 'static,
    TB: Copy + Zero + 'static,
    TC: Copy + Debug + 'static,
    TI: Copy + Add + Mul + Zero + Debug + 'static, 
{ fn a_pack(&self) -> PackA<TA>;
fn b_pack(&self) -> PackB<TB>;
fn a_storage(&self) -> &MatrixStoreSpec;
fn b_storage(&self) -> &MatrixStoreSpec;
fn c_storage(&self) -> &MatrixStoreSpec;
fn m(&self) -> usize;
fn k(&self) -> usize;
fn n(&self) -> usize;
unsafe fn b_from_data_and_offsets(
        &mut self,
        rows_offsets: &[isize],
        cols_offsets: &[isize]
    );
unsafe fn b_vec_from_data_and_stride(&mut self, stride: isize);
unsafe fn b_vec_from_data(&mut self);
unsafe fn c_from_data_and_strides(
        &mut self,
        row_stride: isize,
        col_stride: isize
    );
unsafe fn c_vec_from_data_and_stride(&mut self, stride: isize);
unsafe fn c_vec_from_data(&mut self);
unsafe fn run(
        &self,
        a: *const TA,
        b: *const TB,
        c: *mut TC,
        non_linear: &[FusedSpec<TI>]
    ); }

Required methods

fn a_pack(&self) -> PackA<TA>

fn b_pack(&self) -> PackB<TB>

fn a_storage(&self) -> &MatrixStoreSpec

fn b_storage(&self) -> &MatrixStoreSpec

fn c_storage(&self) -> &MatrixStoreSpec

fn m(&self) -> usize

fn k(&self) -> usize

fn n(&self) -> usize

unsafe fn b_from_data_and_offsets(
    &mut self,
    rows_offsets: &[isize],
    cols_offsets: &[isize]
)

unsafe fn b_vec_from_data_and_stride(&mut self, stride: isize)

unsafe fn b_vec_from_data(&mut self)

unsafe fn c_from_data_and_strides(
    &mut self,
    row_stride: isize,
    col_stride: isize
)

unsafe fn c_vec_from_data_and_stride(&mut self, stride: isize)

unsafe fn c_vec_from_data(&mut self)

unsafe fn run(
    &self,
    a: *const TA,
    b: *const TB,
    c: *mut TC,
    non_linear: &[FusedSpec<TI>]
)

Loading content...

Implementors

impl<K, TA, TB, TC, TI> MatMatMul<TA, TB, TC, TI> for MatMatMulImpl<K, TA, TB, TC, TI> where
    TA: Copy + Zero + Debug + 'static,
    TB: Copy + Zero + Debug + 'static,
    TC: Copy + Debug + 'static,
    TI: Copy + Add + Mul + Zero + Debug + 'static,
    K: MatMatMulKer<TA, TB, TC, TI> + 'static, 
[src]

Loading content...