cubecl-matmul 0.8.1

CubeCL Matrix Multiplication Kernels Engine
Documentation
#[macro_export]
macro_rules! testgen_matmul_accelerated_tile {
    ($algorithm: ty, $precision: ty, $tiling_scheme_builder: expr) => {
        use $crate::components::TileSize;

        #[cfg(target_os = "macos")]
        mod t8x8x8 {
            use super::*;

            $crate::testgen_matmul_accelerated_partition!(
                $algorithm,
                $precision,
                $tiling_scheme_builder.with_tile_size(TileSize { m: 8, n: 8, k: 8 })
            );
        }

        #[cfg(not(target_os = "macos"))]
        mod t16x16x16 {
            use super::*;

            $crate::testgen_matmul_accelerated_partition!(
                $algorithm,
                $precision,
                $tiling_scheme_builder.with_tile_size(TileSize {
                    m: 16,
                    n: 16,
                    k: 16
                })
            );
        }

        #[cfg(not(target_os = "macos"))]
        mod t32x8x16 {
            use super::*;

            $crate::testgen_matmul_accelerated_partition!(
                $algorithm,
                $precision,
                $tiling_scheme_builder.with_tile_size(TileSize { m: 32, n: 8, k: 16 })
            );
        }

        #[cfg(not(target_os = "macos"))]
        mod t8x32x16 {
            use super::*;

            $crate::testgen_matmul_accelerated_partition!(
                $algorithm,
                $precision,
                $tiling_scheme_builder.with_tile_size(TileSize { m: 8, n: 32, k: 16 })
            );
        }

        #[cfg(not(target_os = "macos"))]
        mod t16x16x8 {
            use super::*;

            $crate::testgen_matmul_accelerated_partition!(
                $algorithm,
                $precision,
                $tiling_scheme_builder.with_tile_size(TileSize { m: 16, n: 16, k: 8 })
            );
        }
    };
}