Docs  /  CUTLASS / CuTe façade + optional TF32

CUTLASS / CuTe façade + optional TF32

CutlassAccel is the GPU linear-algebra entry for MathNN-sized work.

Full TF32 guide: TF32MatrixMultiply.md
VS configs: BuildConfigurations.md

Status

Mode Behavior
GPU (USE_CUDA) cuBLAS GemmEx FP32 when device ready
+ AI_USE_TF32 Runtime may select TF32 (cutlass set precision tf32, SM≥8)
No GPU / cuBLAS fail Host MatrixAcceleration AVX/AVX-512 GEMM
AI_USE_CUTLASS + device .cu Optional future MMA kernels (same API)

VS Configuration Manager ↔ TF32

Configuration AI_USE_TF32 (via EnableTf32)
Release-GPU-AVX2 / Release-GPU-AVX512 on by default
Release-GPU-AVX2-Tensor / *-AVX512-Tensor on by default
Release / Debug / Release-CPU-* off
msbuild /p:Configuration=Release-GPU-AVX2              # TF32 compiled in
msbuild /p:Configuration=Release-GPU-AVX2 /p:EnableTf32=false
msbuild /p:Configuration=Release /p:EnableTf32=true    # opt-in on plain Release

Default runtime precision remains fp32 even when TF32 is compiled.

Commands

cutlass status                 # tf32_compiled= / tf32_available=
cutlass bench [size] [repeats]
cutlass check [size]           # TF32 probe only if AI_USE_TF32
cutlass set precision fp32|tf32|fp16|bf16
cutlass gemm [M N K]

Alias: cute ….

API

_CutlassAccel::IsTf32Compiled();   // AI_USE_TF32 in this binary?
_CutlassAccel::IsTf32Available();  // compiled + GPU SM>=8?
_CutlassAccel::SetPrecision(Precision::Tf32); // no-ops to Fp32 if not compiled
_CutlassAccel::Gemm(A, B, C, M, N, K, detail);

Lua

cutlass_set_precision("tf32")  -- becomes fp32 if not compiled
cutlass_check(64)
Generated from the project markdown docs on 2026-07-24. This is a static, self-contained site.