Why does generating one more token mean reading so much old state?
Follow the causal decode loop, count the key/value reads, and vary history and generation length. This isolates attention-side traffic; whole-model latency also includes weights and other work.
Is the kernel waiting for bytes, or running out of compute?
Connect arithmetic intensity to memory bandwidth and compute throughput. Move between the two ceilings and see why a spec-sheet roofline differs from sustained performance.
What changes when batch, context and cache precision change?
Compare the page’s decode-scaling data across GPUs and workloads. Use batch, context and quantization views to connect a traffic model to observed behavior.