Skip to main content
The NVIDIA Blackwell architecture represents the latest generation of GPU computing, introducing Universal Matrix Multiply-Accumulate (UMMA) instructions, Tensor Memory (TMEM), and advanced block-scaled data types.

Supported GPUs

Critical Compatibility Note: Kernels compiled for datacenter Blackwell (SM100/103) with sm100a are NOT compatible with GeForce RTX 50 series (SM120). These require separate compilation targets:

Key Features

1. Universal Matrix Multiply-Accumulate (UMMA)

UMMA represents a simplified and more efficient matrix multiply instruction:
UMMA Benefits:
  • Simplified programming model
  • Improved register efficiency
  • Better compiler optimization opportunities
  • Unified interface across data types

2. Tensor Memory (TMEM)

Blackwell introduces dedicated on-chip Tensor Memory for improved data locality:
TMEM Characteristics:
  • Dedicated high-bandwidth memory
  • Optimized for matrix operand storage
  • Reduces shared memory pressure
  • Hardware-managed coherency

3. Block-Scaled Data Types

Blackwell supports advanced quantization formats:

NVIDIA NVFP4

4-bit floating point with block scaling:

OCP Standard Formats

Support for Open Compute Project microscaling formats:
  • MXFP4: 4-bit with shared exponent
  • MXFP6: 6-bit with shared exponent
  • MXFP8: 8-bit with shared exponent

4. Enhanced FP8 Support

Blackwell improves FP8 tensor operations:

5. Sparse Matrix Operations

Enhanced structured sparsity support:

Shared Memory Configuration

Different Blackwell variants have different shared memory capacities:
SM100 (datacenter) has significantly more shared memory than SM120 (GeForce). Design kernels to be configurable based on available capacity.

Instruction Shapes

Advanced Scheduling

Blackwell introduces sophisticated kernel scheduling:

Pingpong Kernel Pattern

Blackwell supports advanced double-buffering patterns:

Complete Example: Block-Scaled GEMM

CuTe DSL Support

Blackwell has extensive CuTe DSL support:

Performance Optimization

Tile Size Selection

Block Scaling Configuration

TMEM vs Shared Memory

  • Use TMEM for matrix operands (A, B)
  • Use shared memory for accumulation and epilogue
  • Balance allocation based on kernel requirements

Compilation

CUDA Toolkit 13.0 or later is required for SM103 (B300) support. CUDA 12.8 or later supports SM100 (B200) and SM120 (RTX 50 series).

Examples

Blackwell-specific examples:
  • examples/112_blackwell_ssd/ - State Space Decomposition on Blackwell
  • examples/93_blackwell_low_latency_gqa/ - Low-latency GQA with cluster reduction
  • examples/python/CuTeDSL/blackwell/sm103_dense_blockscaled_gemm_persistent.py - Block-scaled GEMM
  • examples/python/CuTeDSL/blackwell/dense_blockscaled_gemm_persistent.py - SM100 persistent kernel

Known Issues and Limitations

CUDA Toolkit 13.1 Advanced Control Files:Mixed-input GEMM examples use “Advanced control file” for optimal performance. These are experimental compiler settings tuned for specific kernels and CUDA versions. They:
  • Only work with the specific kernel they were tuned for
  • Are not compatible across CUDA toolkit versions
  • May not work on different GPU models
  • Require CUDA Toolkit 13.1 for Blackwell
See examples for usage details.

SM100 vs SM120 Differences

See Also