Skip to main content

TileMatrixMultiply

Trait TileMatrixMultiply 

Source
pub trait TileMatrixMultiply<TA, TB, TC, Backend, Arch, const M: usize, const N: usize, const K: usize> {
    // Required method
    unsafe fn tile_matmul(
        c: *mut TC,
        c_stride: usize,
        a: *const TA,
        a_stride: usize,
        b: *const TB,
        b_stride: usize,
    );
}
Expand description

Trait mediating zero-overhead matrix multiplication on 2D tiles.

Implementations are fully monomorphized to optimize layout, vectorization, and register pressure.

Required Methods§

Source

unsafe fn tile_matmul( c: *mut TC, c_stride: usize, a: *const TA, a_stride: usize, b: *const TB, b_stride: usize, )

Performs tile matrix multiplication: C += A * B

§Safety
  • Pointers a, b, and c must be valid for reads/writes of size Ma_stride, Kb_stride, M*c_stride.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§