GPU Sm Architecture

GPU Streaming Multiprocessor (SM) Architecture is the fundamental compute building block of NVIDIA GPUs, where each SM contains a set of CUDA cores, warp schedulers, register files, shared memory, and cache — with the entire GPU composed of tens to hundreds of SMs that independently execute thread blocks, and understanding SM architecture is essential for optimizing kernel occupancy, register usage, shared memory allocation, and achieving peak throughput on any CUDA workload.

SM Components (H100 Example)

Gpu Sm Architecture Technical Microarchitecture Detailed Domain Pipeline, Architectural Blocks & Engineering Performance Optimization (ID 11545) 1. Fetch & Decode Instruction Fetch (IF) PC Generator & L1 I-Cache Branch Predictor Gshare / TAGE & BTB Instruction Decode (ID) Register Rename & ROB Width: 4-Way Superscalar 2. Execution Engine ALU Cluster (INT) Single-Cycle Arithmetic & Shifts FPU / SIMD Engine 256-bit Vector FMA Pipelines Load / Store Queues Out-of-Order Memory Disambiguation 3. Memory & Writeback L1 D-Cache & TLB 32KB 8-Way Set Assoc Hit Latency: 4 Cycles L2 / L3 Cache Controller Inclusive/Non-Inclusive Hierarchy MESI Coherence Protocol In-Order Retirement Commits Architectural State Key Insight: Optimal Gpu Sm Architecture architecture balances performance throughput, systemic latency, and physical constraints. Technical specification & verification reference for Gpu Sm Architecture (Row ID 11545)

SM Evolution Across Generations

ArchitectureYearSMsFP32/SMShared Mem/SMRegisters/SM
Pascal (P100)2016566464 KB256 KB
Volta (V100)2017806496 KB256 KB
Ampere (A100)202010864164 KB256 KB
Hopper (H100)2022132128256 KB256 KB
Blackwell (B200)2024160+128256 KB256 KB

Warp Scheduling

  • Each SM has 4 warp schedulers (Volta+).
  • Each scheduler selects one warp per cycle and issues instruction.
  • 4 schedulers × 1 instruction/cycle = 4 instructions/cycle per SM.
  • When warp stalls (memory): Scheduler instantly switches to another ready warp.
  • This is why occupancy matters: More warps → more scheduling options → better latency hiding.

Resource Partitioning per Thread Block

Thread block requests:
   - 256 threads (8 warps)
   - 32 registers per thread = 8192 registers
   - 4 KB shared memory

 SM capacity: 65536 registers, 256 KB shared mem, 64 warps
   → Can fit: min(65536/8192, 256K/4K, 64/8, 32 blocks) = 8 blocks
   → 64 warps active → 100% occupancy

Performance Optimization Based on SM

BottleneckSymptomSolution
Low occupancyFew active warpsReduce registers or shared mem per block
Register spillSlow local memory accessReduce variables, use __launch_bounds__
Shared mem limitedCan't fit all dataTile the computation
Compute boundAll cores busyAlgorithmic optimization
Memory boundCores waitingImprove coalescing, caching

GPU SM architecture is the hardware foundation that every CUDA optimization decision ultimately targets — understanding how warps are scheduled, how registers and shared memory are partitioned across thread blocks, and how many SMs compose a given GPU determines whether a kernel achieves 20% or 90% of theoretical peak throughput, making SM architecture knowledge the essential bridge between writing correct GPU code and writing fast GPU code.

Take gpu sm architecture further

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