AI Infra Interviews logo
Inside the GPU · free reference

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.

SM

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.

A launch is software work. An SM is hardware.
A launch for 1,000 elements with 256 threads per block creates 1,024 logical threads. The final 24 skip the array access. Blocks can run in successive waves; this diagram does not imply four physical SMs or simultaneous execution.

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.

  1. NVIDIA CUDA Programming Guide: programming model ↗
  2. NVIDIA Hopper Tuning Guide ↗
  3. NVIDIA CUDA Programming Guide: advanced kernel programming ↗