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

pub trait MatMatMul: Debug + Display + DynClone + Send + Sync + Any {
Show 17 methods fn kernel_name(&self) -> &'static str;
fn mr(&self) -> usize;
fn nr(&self) -> usize;
fn a_pack(&self, k: usize) -> Packer;
fn b_pack(&self, k: usize) -> Packer;
fn internal_type(&self) -> DatumType;
unsafe fn a_packed(&self, item_size: usize, k: usize) -> PackedStoreSpec;
unsafe fn b_packed(&self, item_size: usize, k: usize) -> InputStoreSpec;
unsafe fn b_from_data_and_offsets(
        &self,
        item_size: usize,
        rows_offsets: &[isize],
        cols_offsets: &[isize]
    ) -> InputStoreSpec;
unsafe fn c_view(&self) -> OutputStoreSpec;
unsafe fn c_view_with_axis(
        &self,
        m_axis: usize,
        n_axis: usize
    ) -> OutputStoreSpec;
unsafe fn c_from_data_and_strides(
        &self,
        item_size: usize,
        row_stride: isize,
        col_stride: isize
    ) -> OutputStoreSpec;
unsafe fn allocate_scratch_space(&self) -> Box<dyn ScratchSpace>;
unsafe fn can_use_scratch_space(&self, scratch: &dyn ScratchSpace) -> bool;
unsafe fn run_with_scratch_space(
        &self,
        m: usize,
        n: usize,
        scratch: &mut dyn ScratchSpace,
        non_linear: &[FusedSpec<'_>]
    ) -> Result<()>;
unsafe fn run_with_scratch_space_vec(
        &self,
        m: usize,
        scratch: &mut dyn ScratchSpace,
        non_linear: &[FusedSpec<'_>]
    ) -> Result<()>; unsafe fn run(
        &self,
        m: usize,
        n: usize,
        non_linear: &[FusedSpec<'_>]
    ) -> Result<()> { ... }
}

Required methods

Provided methods

Implementors