Skip to playbook content
Browse all chapters
Chapter 0212 min readReviewed 31 August 2026

How GPUs turn data into useful work

A practical model of compute, memory, bandwidth, precision, and the links between accelerators.

On this page
  1. Execution model
  2. Memory hierarchy
  3. Precision
  4. Find the bottleneck
Mental model

A GPU is a throughput machine fed by a memory system

GPUs win when many operations can run in parallel. They lose when work is serial, kernels are too small, data cannot arrive fast enough, or communication dominates.

HostCPU + RAMPrepare, schedule, feed
Device memoryHBM / GDDRWeights, state, KV, activations
ComputeMatrix + vector unitsGEMM, attention, kernels
PeersOther GPUsCollectives and transfers

Matrix engines

Specialized units accelerate dense matrix operations at supported precisions and shapes. Peak tensor rates assume the right kernels, data type, and often a stated sparsity mode.

General cores and fixed-function blocks

Vector/scalar work, reductions, sampling, data transforms, codecs, and ray tracing can use different parts of the chip. Two workloads on one GPU may stress unrelated resources.

Fit before speed

The memory hierarchy decides whether the job fits - and how often data moves

Capacity and bandwidth answer different questions: can the state reside, and can it be reused fast enough?

LayerWhat lives thereWhat to ask
Registers / on-chip SRAMCurrent tiles, accumulators, frequently reused valuesDoes the kernel tile and fuse well, or spill?
HBM / GDDRWeights, activations, optimizer state, KV cache, workspaceDoes peak residency fit with safe headroom? Is the workload bandwidth-bound?
Peer fabricTensors, gradients, KV or activations crossing GPUsHow many bytes cross per layer or step, and on which topology?
Host RAMStaging, offload, page cache, dataset and model loadingIs transfer time hidden, or is PCIe the bottleneck?
Network / storageCheckpoints, remote weights, distributed collectives, inputsWhat is cold-start, checkpoint, and recovery time?
GPU memory = weights + KV or optimizer state + activations + workspace + graphs + runtime overhead
A planning identity - not a substitute for measuring the engine.
Numbers have context

Precision changes fit, bandwidth, compute, and sometimes the answer

Lower precision is useful only when the hardware has efficient kernels and the workload still passes its quality gate.

Format laneTypical useBenefitCheck
FP64 / FP32Scientific/HPC, numerically sensitive stagesRange and accuracyReal solver tolerance; do not pay for FP64 if the job does not use it
TF32 / BF16 / FP16Training and high-quality inference baselinesStrong accelerator support; common reference pointLoss scaling, overflow, convergence, kernel support
FP8 / W8A8Modern training and inferenceLess traffic and faster matrix math on supported GPUsVendor format, calibration, unsupported layers
W4A16 / INT4Weight-residency and decode-bandwidth pressureLarger model or batch in the same HBMDequant overhead, task quality, shape-specific kernels
FP4 / microscalingRecent hardware with native low-precision pathsLarge capacity and throughput opportunityFormat is architecture-specific; validate model, scale metadata, and engine

Dense and sparse rates are not interchangeable. NVIDIA product pages often headline structured-sparse peak rates and state dense performance is half; AMD typically separates dense and structured-sparse rows. Never divide one vendor’s sparse FP8 number by another vendor’s dense FP8 number.

File size is not runtime behavior. Quantization can add scale metadata, leave some layers at higher precision, or fall back to a slower kernel. Measure memory, quality, and end-to-end speed together.

Bottleneck test

Ask what the next unit of performance is waiting for

Arithmetic intensity - the useful operations performed per byte moved - is the shortest route to the right optimization.

Compute-bound

Matrix/tensor activity is high and larger/faster compute or lower-precision arithmetic helps. Common in long-prompt prefill and large training GEMMs.

Memory-bound

HBM activity is high while compute is underfilled. Batching, weight/KV quantization, fusion, and cache reuse may help. Low-batch decode often lives here.

Communication-bound

Peer or network collectives dominate. Reduce shard count, improve placement, overlap transfers, or buy a topology - not merely a faster GPU.

  • Profile a real input shape and concurrency, not a synthetic matrix alone.
  • Check host preprocessing, tokenization, storage, and network before blaming the GPU.
  • Correlate service latency with tensor/SM, DRAM, PCIe, NVLink, power, and queue metrics.
  • Change one lever, replay the same trace, and keep only measured improvements.