Text diffusion, the GPU hangover, and the one place parallel generation actually pays off

By Shreshta Shyamsundar and Anmol Jain July 20, 2026 • 12 minute read

Somewhere in a Singapore data center, a bank is paying for eight H100s that spend most of the night waiting. The cluster was bought for good reasons (discomfort with customer documents leaving the building, a strategy team’s aversion to lock-in), so the bank secured its own sovereign compute. Now the finance team is asking why a machine that costs more per hour than a senior engineer runs at a fraction of its capacity. This is the GPU hangover. Over the last two years, enterprises rushed to lock in private clusters and reserved cloud nodes to build AI they could control. The hardware arrived; the utilization did not. The reason isn’t bad planning. It’s a mismatch between how standard models generate text and how enterprises actually use them, and text diffusion is the most interesting candidate for closing the gap. It’s also the most oversold, and the oversell hides in which workloads it actually helps.

Start with the physics. A standard autoregressive model, from the Llama, Mistral, or GPT families, for instance, generates one token at a time. The weights never change and never leave the card; they sit in the GPU’s high-bandwidth memory the whole time. The bottleneck is one level down. Arithmetic happens only in the chip’s tiny pool of on-chip memory, which is nowhere near big enough to hold a multibillion-parameter model. So for every single token, the full set of weights has to be streamed out of that main memory and through the compute units again—rereading the model from the card’s own memory into the card’s calculators, once per token, because the calculators cannot keep it resident. The math finishes almost instantly and the units then idle, waiting for the next slice of weights. Measured as arithmetic intensity, operations per byte moved, this sits near 1 at batch size one, while modern GPUs are built for intensities in the hundreds. The chip is starved, bottlenecked not by a shortage of compute but by the speed of the feed. The escape hatch is batching: Read the weights once and use them to compute the next token for hundreds of requests at the same time, amortizing that one expensive read across hundreds of tokens of useful work. On the same hardware, small versus large batches can swing cost per token 10- to 30-fold, which is why public APIs, running enormous batches across thousands of users, are cheap.