Register File

Register File in GPU architecture is a high-speed memory bank providing each thread with dedicated registers for storing operands and intermediate results.

## What Is a Register File?

  • Location: Inside each Streaming Multiprocessor (SM)
  • Speed: Single-cycle access (fastest memory in GPU hierarchy)
  • Capacity: 64KB-256KB per SM (varies by GPU generation)
  • Allocation: Dynamically partitioned among threads

## Why Register Files Matter

Register files enable thousands of concurrent threads by providing each thread private, zero-latency storage. Register pressure limits occupancy.

GPU Memory Hierarchy (NVIDIA):┌─────────────────────────────────────────┐│ Register File (per thread) │ ← Fastest│ 255 registers × 4 bytes = 1KB per thread│├─────────────────────────────────────────┤│ Shared Memory (per block) - 48-163KB │├─────────────────────────────────────────┤│ L1/L2 Cache │├─────────────────────────────────────────┤│ Global Memory (GDDR/HBM) - 8-80GB │ ← Slowest└─────────────────────────────────────────┘

Register Pressure Trade-off:
| Registers/Thread | Threads/SM | Occupancy |
|------------------|------------|-----------|
| 32 | 2048 | 100% |
| 64 | 1024 | 50% |
| 128 | 512 | 25% |

Fewer registers = more threads, but may cause spills to slow memory.

Take register file further

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