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. ```svg 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.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account