What unit measures GPU memory bandwidth and why does that number cap decode speed?
Memory bandwidth is bytes per second from HBM to compute units; decode is bandwidth-bound because each step reads all weights and the KV cache to produce one token.
Think of a chef in a giant kitchen. The recipes are stored in a warehouse next door. To cook each dish, the chef has to fetch every recipe from the warehouse and read it once. The chef's hands are blazing fast, but they can only run between the warehouse and the kitchen at a certain speed. Even if you doubled the chef's hand speed, dinner takes just as long because the actual bottleneck is the walking trip. GPU decode is the same. Each token requires reading all the model's weights from HBM (the warehouse) into the streaming multiprocessors (the kitchen). The GPU is bandwidth-bound, not compute-bound. Memory bandwidth, measured in GB/s or TB/s, is the speed of those round trips, and it sets the ceiling on how fast tokens come out.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Memory bandwidth is the unsexy hardware number that decides almost everything about LLM decode performance. Marketing leads with FLOP/s. Inference engineers care about TB/s. The reason is structural: a single decode step does very little math but reads a huge amount of memory, so the GPU spends almost all its time moving bytes around, and the speed at which it can do that movement is the binding ceiling on tokens per second.
This deep dive walks through what memory bandwidth physically is, why decode arithmetic intensity sits near unity while prefill intensity sits in the hundreds, what the practical bandwidth numbers are for the GPUs people actually deploy in 2026, and how every major inference optimization, quantization, KV cache compression, continuous batching, speculative decoding, traces back to either shrinking bytes-per-token or sharing those bytes across more output. By the end, you should be able to look at any inference benchmark and reason about which optimizations would actually move it.
What memory bandwidth physically is
A GPU has two very different memory tiers. The small, fast one is on-chip SRAM: shared memory and L1/L2 caches, measured in megabytes and accessed in nanoseconds. The big, slow one is HBM (high-bandwidth memory), a stack of DRAM chips wired to the GPU package through a wide bus, measured in tens of gigabytes and accessed in hundreds of nanoseconds per first byte.
Memory bandwidth is the sustained byte-per-second rate at which data flows between HBM and the streaming multiprocessors that execute compute. It is set by three physical knobs: the number of HBM stacks on the package, the DRAM clock frequency of each stack, and the bus width. NVIDIA, AMD, and Google all publish bandwidth numbers in GB/s or TB/s, but the practical figure is the sustained number under realistic kernel access patterns, which is typically 70-85 percent of the peak number.
The rough figures worth memorizing for 2026:
- A100: HBM2e, ~2.0 TB/s
- H100 SXM: HBM3, ~3.3 TB/s
- H200: HBM3e, ~4.8 TB/s
- B200: HBM3e, ~8 TB/s
- MI300X (AMD): HBM3, ~5.3 TB/s
PCIe-form-factor variants of each (H100 PCIe, etc.) come in 10-20 percent lower because they fit a lower TDP envelope. These are the bandwidth roofs on the roofline plot, and decode performance lives entirely under them.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- An H100 SXM at 3.3 TB/s reading a 14 GB weight set (Llama 3.1 8B in bf16) caps decode at about 235 tokens/sec per request before any other overhead.
- FP8 quantization in TensorRT-LLM halves the bytes-per-parameter, roughly doubling per-request decode throughput on the same H100.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhy does prefill not hit the same bandwidth wall as decode?
Prefill processes many prompt tokens in parallel. The matmul shapes become tall and wide, arithmetic intensity climbs into the hundreds or thousands, and the workload moves above the bandwidth-roof knee onto the compute-bound flat ceiling. The same hardware behaves completely differently in the two phases.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Quoting peak FLOP/s when explaining decode speed. Decode does very few FLOPs per byte read, so FLOP/s is irrelevant; the bandwidth number is what bounds you.
60 second bullets to scan on the way to the call.
Definition of memory bandwidth and its unit (GB/s or TB/s)
Rough HBM bandwidth numbers for A100, H100, and B200
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.