For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).
Mojo package
sm90
Provides the Nvidia Hopper backend implementations for matmuls.
Modulesβ
- β
config: Provides static configuration and heuristic config builders for SM90 (Hopper) GPU warp-specialized matmul kernels. - β
dispatch: Dispatches rank-2 matmuls to the SM90 (Hopper) warp-specialized kernel. - β
grouped_matmul: Implements grouped (batched expert) GEMM for SM90 (Hopper) GPUs. - β
matmul: Provides SM90 warp-specialized GEMM dispatchers with TMA multicasting, split-K reduction, and optional epilogue fusion for Hopper matmuls. - β
matmul_kernel_persistent: Implements persistent warp-specialized matmul kernels for NVIDIA SM90 (Hopper) GPUs. - β
matmul_kernels: Implements Hopper SM90 matrix multiplication kernels using TMA and WGMMA. - β
matmul_output: Provides the output writer for SM90 warp-group matrix multiply-accumulate kernels. - β
testbed: Provides a testbed for validating SM90 warp-specialized matmul kernels against a vendor reference. - β
testbed_swapAB: Testbed for comparing swapAB vs normal matmul execution. - β
tile_loader: TileLoader module for efficient tile loading in GPU matrix multiplication. - β
tile_writer: TileWriter module for efficient tile writing in GPU matrix multiplication. - β
tuning_configs: Defines the SM90 (Hopper) matmul tuning configuration record and the pre-tuned BF16 lookup table of kernel hyperparameters for specific (M, N, K) problem shapes.