Skip to main content
CUTLASS provides comprehensive support for NVIDIA GPU architectures from Volta through Blackwell, with optimized implementations for each generation’s unique features.

Supported Architectures

CUTLASS supports the following NVIDIA GPU architectures:
CUTLASS requires CUDA 11.4 or later, with CUDA 12.8 recommended for best performance. Volta architecture (SM70) is the minimum supported compute capability.

Architecture-Specific Features

Data Type Support by Architecture

Tensor Core Evolution

Ampere (SM80/86)
  • TF32 (TensorFloat-32) for FP32 acceleration
  • BF16 (BFloat16) native support
  • FP64 tensor cores
  • Asynchronous copy (cp.async)
  • INT8/INT4/INT1 operations
Hopper (SM90)
  • Warpgroup Matrix Multiply-Accumulate (WGMMA)
  • Tensor Memory Accelerator (TMA)
  • FP8 (E4M3, E5M2) native support
  • Enhanced FP64 tensor cores
  • Thread block clusters
Blackwell (SM100/103/120)
  • Universal Matrix Multiply-Accumulate (UMMA)
  • Tensor Memory (TMEM)
  • Block-scaled data types (FP4, MXFP4/6/8)
  • Enhanced sparse operations
  • Advanced scheduling primitives

Memory Hierarchy

Different architectures provide different shared memory capacities:
Shared memory allocation must be carefully managed, especially on architectures with limited capacity. Use dynamic shared memory or optimize tile sizes accordingly.

Target Architecture Compilation

Architecture-Accelerated Features

Starting with CUDA 12.0, certain Hopper and Blackwell features require architecture-accelerated PTX, indicated by the “a” suffix:
Kernels compiled with sm_100a (datacenter) are not compatible with RTX 50 series GPUs (SM120). They require separate compilation targets.

Checking Architecture at Runtime

CUTLASS provides utilities to query the current architecture:

Architecture Selection in Templates

CUTLASS uses architecture tags to specialize templates:

Performance Characteristics

Each architecture has different peak theoretical performance:
  • Ampere A100: Up to 312 TFLOPS (FP16 Tensor Core)
  • Hopper H100: Up to 1,979 TFLOPS (FP8 Tensor Core)
  • Blackwell B200: Enhanced performance with UMMA instructions
CUTLASS achieves near-optimal utilization on all supported architectures when properly configured.

Compiler Preprocessor Macros

Architecture-specific code uses compile-time guards:

Next Steps

Explore architecture-specific features:

Ampere (SM80/86)

TF32, BF16, async copy operations

Hopper (SM90)

WGMMA, TMA, FP8 support

Blackwell (SM100/120)

UMMA, TMEM, block-scaled types

Additional Resources