Skip to content
Contents

Interactive textbook

General-Purpose Graphics Processor Architectures

Tor M. Aamodt, Wilson Wai Lun Fung & Timothy G. Rogers — Synthesis Lectures on Computer Architecture, Morgan & Claypool, 2018

Almost every idea in this book is something that happens over time: warps stepping through a pipeline, a branch splitting a warp in two and later putting it back together, addresses merging into memory transactions. So the explanations here are animated — you can play, pause, and step one cycle at a time, and watch the reason for each change as it happens.

Every number an animation shows is simulated from its own scenario data, not typed in beside it. Where a model cannot support the conclusion you would naturally draw, it says so rather than letting the numbers imply it.

Your progress

Answer a section's quiz and it will be remembered here, in this browser only.

A path through it

22 sections, about 222 minutes of reading plus the time you spend with the animations. Chapter 4 borrows two ideas from Chapter 3 — instruction replay and affine addresses — so that order reads more smoothly, but each links back where it needs to.

1 · Start here

Why the machine exists, and how you talk to it

Everything later depends on these two. Chapter 1 is the argument for building a GPU at all; Chapter 2 is the programming model that sells scalar threads to a vector machine.

2

Inside one core

One SIMT core opened up and rebuilt in three passes, then a long line of research trying to pay less for divergence.

3

Out to memory and back

One memory request followed from the load/store unit to a DRAM row buffer, and the finding that most GPU memory performance is decided before the cache is consulted. Reuses instruction replay from §3.3 and affine addresses from §3.5, and links back to both.

4 · Last

What fitted in neither

Scheduling, alternative ways of expressing parallelism, transactional memory, and sharing a chip with a CPU. This chapter leans on all four before it.

Glossary

Every term the book defines, each with an ordinary-words meaning beside the precise architectural one, and where it was first used.

If you read only one section

Make it §4.4.1–4.4.5 . Adding a cache made some programs slower, and hit rate turns out not to predict whether caching helps — the idea here most likely to change what you do the next time you read a profiler.

Built as a personal study aid from the book named above, whose argument, ordering, figures and examples it follows. The prose here is original; the book is the authority, and where its text and its figures disagree this site says so rather than choosing quietly.