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