At batch 1 a decode step is a few milliseconds of GPU work behind several hundred kernel launches, and the CPU cannot issue them fast enough. The arithmetic showing the GPU starve, what replay changes, and the four constraints capture imposes on memory.
Why do serving engines capture decode steps into CUDA graphs, and what does capture require of the rest of the code?
At batch 1 a decode step is a few milliseconds of GPU work behind several hundred kernel launches, and the CPU cannot issue them fast enough. The arithmetic showing the GPU starve, what replay changes, and the four constraints capture imposes on memory.
Updated Sep 2026 · Grounded in real AI infrastructure interview loops and written to a senior-engineer editorial bar, with every number worked and every diagram hand-built.
The concepts behind this question
Ranked by how closely each one overlaps this question's topic, so the first card is the thing to read if the answer above moved too fast.
Scored on the CPU-versus-GPU time arithmetic that makes launch overhead the bottleneck at small batch, on the static-address and no-sync constraints of capture, and on the shape bucketing that follows from fixed graphs.
No comments yet — be the first to share your approach.
