Streaming multiprocessor
A streaming multiprocessor is the NVIDIA GPU unit that keeps thread blocks resident and executes their warps. It contains schedulers, registers, arithmetic pipelines and on-chip memory resources.
How it works
An ordinary thread block stays on one SM during its execution. Several blocks can share an SM if their combined register, shared-memory and thread requirements fit. When one warp waits for a dependency, another ready warp may issue an instruction.
Work through an example
A 256-thread block contains eight 32-thread warps. Placing two such blocks on an SM gives 16 resident warps, subject to the device and kernel resource limits.
Where the term can mislead
An SM is not a CPU core, and its resident warp count does not tell you how many useful arithmetic instructions issue each cycle.
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.
