Draft preview. This experiment is not in the public collection.
Workshop/4 min exploration

How a GPU divides a workload

What changes when independent work is divided into workgroups?

A graphics processor is designed to organize lots of similar, independent operations. This schematic uses 24 identical abstract tasks. First, advance one task at a time. Then partition that same grid into workgroups and watch several groups become active together.

Interactive model

Explore the model and follow its moving parts.

Read the full explanation ↓
Select a part. Change a control. Follow the motion.

Workgroups describe how independent work is organized. They do not, by themselves, predict how fast a particular GPU will finish it.

If the task grid contains dependencies between neighboring squares, what should you conclude from this diagram?

Follow the explanation

Back to the model ↑

How the parts work together

  1. One ordered queue

    Choose “One task at a time.” The highlighted square advances through the same 24-task grid in order. This is a contrast case, not a model of a CPU.

  2. Partition independent work

    Switch to “Independent workgroups.” The dispatcher draws boundaries around tasks and assigns several groups to the illustrated lanes. Within this diagram, active groups make progress together.

  3. Change the group count

    Increase Workgroups shown. The model redraws a different partition of the same task grid. It deliberately does not calculate time, throughput, occupancy, memory traffic, or a speedup.

The main parts

Abstract task grid
Each square stands for one independent, identical unit of work in this teaching model. It is not an instruction, pixel, shader program, or measured amount of computation.
Dispatcher
The schematic dispatcher assigns the task grid either as one ordered queue or as numbered workgroups. Real GPU scheduling is more complex and hardware-specific.
Workgroups
A workgroup is a set of related work-items defined by a program. The colored outlines show a teaching partition, not physical processor boundaries.
Execution lanes
These lanes visualize concurrent group activity in the model. They do not represent a count of cores, streaming multiprocessors, threads, or any particular GPU architecture.

One discovery leads to another.

MachinesInside an inline-sixMachinesWhy gears change everythingMechanicsHow ball bearings workMachinesInside a rotary engine