Register file
The register file is the SM storage backing thread register values. Its finite capacity limits how much thread state can remain resident at once.
How it works
The compiler determines how many registers the generated kernel needs per thread. Allocation follows architecture-specific granularity and block placement rules, so a small increase can cross a residency threshold. Values that cannot stay in registers may be spilled to local memory.
Work through an example
A simplified budget of 65,536 32-bit registers divided by 256 threads × 64 registers gives room for four blocks by register capacity alone. Shared memory, thread limits and allocation granularity can reduce the actual count.
Where the term can mislead
Counting source variables is insufficient: lifetimes overlap differently, values can be optimized away, and one value may occupy multiple registers.
Connect the idea
Take it into practice
Continue with the existing concept, apply it to an interview problem, or follow a course lesson. Access requirements are shown before you open a page.
New to GPUs? Start with the free execution-model concept.
Sources and scope
Examples here are teaching calculations, not measured GPU performance. Consult the linked documentation for the exact device, instruction and tool version. Source review: 25 October 2026.
