Lesson 1 of 5 · Foundations

GPU Architecture · Foundations

Why a GPU Is Shaped Differently

Before any term makes sense, one reframe: a GPU is not a faster CPU. It is a different bargain.

You already have a rock-solid mental model of a CPU: a handful of powerful cores, each racing through one instruction stream as fast as physically possible. That instinct is exactly what makes GPU terminology confusing — because a GPU throws that priority away. This whole course hangs on the trade it makes instead. Get it now, and warp, SM, block, and coalescing will all fall out of it naturally.

Two chips, two obsessions

A CPU is a latency machine: its job is to finish one task as soon as possible. So it spends most of its silicon not on arithmetic, but on hiding the wait — large caches, branch predictors, out-of-order execution — all to keep one thread sprinting.

A GPU is a throughput machine: its job is to finish an enormous pile of similar tasks per second, and it does not care if any single one is slow. So it spends its silicon the opposite way: mostly on arithmetic units, with tiny caches and simple control.1

CPU — latency-oriented

GPU — throughput-oriented

The keystone idea

A CPU avoids waiting. A GPU embraces waiting — and hides it by having so much other work queued up that there is always something ready to run. This is called latency hiding through massive parallelism, and it is the single fact the rest of the architecture is built to serve.2

How "embracing the wait" actually works

Reading a value from a GPU's main memory can cost hundreds of clock cycles. A CPU fights this with big caches so it rarely has to wait. A GPU takes the other road entirely:

When one group of threads stalls waiting on memory, the hardware instantly parks it and runs a different group that is ready — then another, then another. With thousands of threads resident at once, the arithmetic units almost never sit idle, even though every individual memory access is slow. The latency never went away; it got covered up by other work.

Analogy: a CPU is a single expert chef who keeps every ingredient within arm's reach so they never pause. A GPU is a giant kitchen of line cooks — each one slower, and ingredients arrive slowly — but with hundreds of orders in flight, someone is always chopping. The kitchen's total dishes per hour crushes the lone chef, even though any one dish takes longer.

The two maps you'll spend this course learning

Here is the framing you asked for, and the spine of everything ahead. GPU vocabulary lives in two parallel hierarchies that describe the same machine from two sides:

Physical — the silicon (Lessons 2, 4) Logical — the CUDA model (Lessons 3, 5)
The GPU chipA grid (one kernel launch)
A Streaming Multiprocessor (SM)A block of threads runs here
A warp scheduler + its lanesA warp — 32 threads in lockstep
A CUDA core / laneOne thread

You wrote that these two levels are "related, but not the same." Exactly right — and that gap is where most GPU confusion lives. Logical terms are what you write in code; physical terms are what the hardware does with it. The whole skill you're building is fluently translating between the two columns. Today you don't need the rows yet — just the shape: two maps of one machine.

Don't over-trust the word "core"

A "CUDA core" is not a CPU core. A CPU core is an independent processor that fetches and runs its own instruction stream. A "CUDA core" is just a single arithmetic lane — it can't fetch instructions on its own; it does what its warp scheduler tells all 32 of its neighbours to do, together. When a spec sheet says "16,384 CUDA cores," read it as "16,384 arithmetic lanes," not "16,384 CPUs." We'll unpack this in Lesson 2.

Check yourself

Answer from memory — the retrieval is what makes it stick. One click locks each answer.

RecallA GPU devotes far more of its transistor budget to arithmetic units than to caches and control logic. It is built above all to maximize —

MechanismA thread needs a value from GPU main memory, which costs hundreds of cycles. Rather than stall, the hardware —

TransferOf these four tasks, the one that maps worst onto a GPU is —

Primary source to read next (≈15 min)

CUDA C++ Programming Guide — §1 "Introduction / The Benefits of Using GPUs." NVIDIA's own framing of the latency-vs-throughput trade, with the classic figure of how each chip spends its transistors. This is the canonical statement of today's keystone idea. Read it here.

I'm your teacher — ask me anything. If the "two maps" framing feels abstract, or you want the CPU/GPU trade pushed further (why can't a CPU just add more cores and become a GPU?), ask. Questions are how we find the edge of your understanding and aim the next lesson. Just tell me in chat.

Notes & citations

  1. CUDA C++ Programming Guide, "The Benefits of Using GPUs" — the GPU "devotes more transistors to data processing rather than data caching and flow control." docs.nvidia.com
  2. Hwu, Kirk & El Hajj, Programming Massively Parallel Processors, 4th ed. — GPUs adopt a throughput-oriented design that tolerates long memory latency by keeping a huge number of threads in flight. See resources.html.
⌂ Home Lesson 2 →