3.6k words | Dan Hollick
How does a GPU work?
A GPU trades the complexity of a few powerful cores for thousands of simpler workers that perform similar calculations in parallel.

A GPU trades the complexity of a few powerful cores for thousands of simpler workers that perform similar calculations in parallel. The apparent simplicity comes from a set of carefully chosen representations, transformations and physical assumptions working together.
Parallel work
Large batches of independent vertices and pixels can run through the same program together.
This is one part of a longer chain: commands becomes vertices becomes fragments becomes framebuffer. The useful abstraction hides the physical work, but the underlying constraints still shape the software built above it.
The graphics pipeline
Geometry is transformed, clipped, rasterised and shaded in a predictable sequence.
The implementation is full of compromises. Precision, speed, storage and energy rarely improve together, so practical systems choose the errors people are least likely to notice.
Memory bandwidth
Keeping many cores fed with data is as important as the arithmetic itself.
Once this layer is visible, familiar design conventions stop looking arbitrary. They are accumulated responses to the capabilities and limits of the machinery below.
A visual study based on the original chapter. Text is condensed and rewritten.