Zenaique

What unit measures GPU memory bandwidth and why does that number cap decode speed?

Flashcard·Easy·4.0 · 0·~30s·Asked atFireworks AiJpmorganSarvam·Relevant atNVIDIA
Attempt it
TL;DR

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.

Memory aid
Sign in to see the mnemonic that makes this stick.
Easy to grasp

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.

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.

Why decode arithmetic intensity is near 1
Why prefill behaves completely differently
How every decode optimization traces back to bandwidth
Sign in to unlock the full deep dive.

Situations where this technique stops working.

Sign in to see when this approach fails.

2–4 min · Everything important, quickly.

Sign in to see the quick scan of the deep dive.

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.
Sign in to see more production examples.

What an interviewer would ask next. Try answering before peeking at the approach.

QWhy does prefill not hit the same bandwidth wall as decode?
A

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.

2 more follow-ups an interviewer would ask next. Sign in to reveal them.

Red flags & common mistakes

The phrases that signal junior thinking. Click to expand.

Most common mistake

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.

Sign in to see all red flags and common mistakes.

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

Sign in to unlock the revision sheet.

Primary sources. Browse if you want the original framing.

Similar questions

Same topic, related formats. Practice these next.

4 curated
Next question
What is the KV cache in transformer inference?
Flashcard·Easy