Streaming Multiprocessor

Streaming Multiprocessor (SM) is the fundamental compute building block in NVIDIA GPU architecture, containing CUDA cores, tensor cores, and shared resources for parallel execution.

## What Is a Streaming Multiprocessor?

  • Components: CUDA cores, tensor cores, LD/ST units, SFUs
  • Resources: Registers, shared memory, L1 cache
  • Scheduling: Multiple warps execute concurrently
  • Scale: Consumer GPUs: 20-80 SMs; Data center: 100+ SMs

## Why SM Architecture Matters

Understanding SM organization is essential for GPU programming optimization. Performance depends on efficiently utilizing SM resources.

Streaming Multiprocessor (SM) Structure:┌─────────────────────────────────────────┐│ Instruction Cache │├─────────────────────────────────────────┤│ Warp Scheduler (4 per SM) │├─────────┬─────────┬─────────┬──────────┤│64 CUDA │64 CUDA │4 Tensor │8 SFU ││Cores │Cores │Cores │Units │├─────────┴─────────┴─────────┴──────────┤│ Load/Store Units (32) │├─────────────────────────────────────────┤│ Register File (64K 32-bit registers) │├─────────────────────────────────────────┤│ Shared Memory / L1 Cache (128KB) │└─────────────────────────────────────────┘

SM Evolution (NVIDIA):
| Architecture | SMs (Max) | CUDA Cores/SM |
|--------------|-----------|---------------|
| Pascal | 60 | 64 |
| Volta | 84 | 64 |
| Ampere | 108 | 64 |
| Hopper | 132 | 128 |

Take streaming multiprocessor further

Ask the copilot about this term, or have our engineers assess it against your process.