AI Infra Interviews logo
How work runs · free reference

CUDA programming model

The CUDA SIMT programming model expresses a kernel as many threads organized into blocks and a grid. Each thread has its own state and can take its own control-flow path.

SIMTSingle instruction multiple threads

How it works

The hardware groups threads into warps and issues instructions for their active lanes. Blocks give cooperating threads shared memory and synchronization. Ordinary blocks must be able to run independently, allowing the device to schedule a large grid in successive waves.

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

For 1,000 elements and 256 threads per block, four blocks create 1,024 threads. The last 24 threads must skip out-of-range array accesses.

Where the term can mislead

Concurrent threads do not imply simultaneous progress. Code that waits for an unscheduled ordinary block can deadlock.

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 ↗