LoopOrder

Trait LoopOrder 

Source
pub trait LoopOrder {
    // Required method
    fn gemm(
        a: MatrixTileSlice<'_>,
        b: MatrixTileSlice<'_>,
        c: MatrixTileSliceMut<'_>,
    );
}
Expand description

Trait for zero-cost loop ordering strategies.

Different loop orders have different cache access patterns, which can significantly impact performance. All six permutations are provided: RCI, CRI, ICR, RIC, IRC, CIR (where R=row, C=column, I=inner).

Required Methods§

Source

fn gemm( a: MatrixTileSlice<'_>, b: MatrixTileSlice<'_>, c: MatrixTileSliceMut<'_>, )

Performs GEMM with this loop ordering strategy.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§