The news. On July 13, 2026, the authors of FastTPS posted their paper (arXiv:2607.11211). It targets the token phase — the decode step that writes one token at a time — of decoder-only LLMs on general AI accelerators. FastTPS combines three pieces: reloading-free KV-cache concatenation, a tiling-optimized FLAT kernel for RoPE attention, and a separately fused feed-forward network scheduled with fine-grain pipelining. On an AMD Ryzen AI 300-series NPU running Phi-3-mini-4k in BF16, it reports a 6× speedup over the non-fusion baseline and 93% peak memory-bandwidth utilization. Read the paper →

Picture a busy bar. The tab is the running list of everything the table has ordered — in an LLM, that tab is the KV cache, the keys and values the model saved for every token so far. Now the table orders one more drink: the model writes one more token. The trouble is how the waiter adds it. In the naive setup, before writing the new drink he walks to the back office, fetches the entire tab, and recopies the whole thing onto a fresh slip just to append one line. Writing each new token means reading that entire growing store back from memory — and on a small accelerator, that repeated read, not the math, is what sets the pace. The decode phase is memory-bandwidth-bound: the arithmetic finishes quickly, then the chip waits.

Small batch (1–4 requests)Step 1Step 2Step 3
GPU spends most time loading KV cache from memory — waiting, not computing
Large batch (64+ requests)Step 1Step 2Step 3
GPU spends most time computing — data loads amortized across many requests
loading cache (bandwidth) computing (math)

FastTPS keeps the same drinks but stops the recopying. FastTPS's reloading-free KV-cache concatenation appends the new key and value in place, so the accelerator stops recopying the cache to add one entry. Instead of fetching the tab and rewriting it, the waiter simply writes the new drink on the tab already on the table — the existing entries are never read back from memory just to grow the list by one. That single change removes the largest source of repeated memory traffic in the token phase.

The other two pieces make sure the freed-up bandwidth isn't wasted elsewhere. FastTPS gives attention a tiling-optimized FLAT kernel so the RoPE attention math runs in on-chip tiles — keeping the softmax and intermediates on-chip instead of writing the full score matrix out to memory — and it separately fuses the feed-forward network into a pipelined pass. With the attention tiled and the feed-forward fused and pipelined, the work stays on-chip, and the NPU runs at 93% of its peak memory bandwidth instead of stalling on memory traffic.

Where it earns its keep

Decode is memory-bound because attention reads the whole growing KV cache every step — that read is inherent. The naive path stacks a second cost on top: to append the new token's key and value, it reloads and recopies the entire cache into a fresh buffer. Take a 4,000-token context — the KV cache is on the order of a few hundred MB in BF16 (illustrative), so recopying it to add one token moves hundreds of MB of redundant traffic per step (illustrative). On an NPU whose bandwidth is the binding constraint, that redundant traffic is pure latency. Reloading-free concatenation writes the new entry into a preallocated slot instead, dropping the recopy, while the tiled FLAT attention runs the unavoidable cache read as on-chip tiles rather than extra memory round-trips: FastTPS reports 6× faster token generation than the same model without fusion, at 93% of peak memory bandwidth on an AMD Ryzen AI NPU with Phi-3-mini-4k in BF16 (arXiv:2607.11211).

Token-phase strategyHow the KV cache is grown each stepConcat memory cost (illustrative)What the accelerator does
Non-fusion baselinereload + recopy the whole cache to concatenate~all prior entries (illustrative)redundant traffic on top of the attention read
Reloading-free concatenationwrite the new key/value into a preallocated slot~one written entry (illustrative)removes the redundant recopy
+ FLAT RoPE attention + fused FFN (FastTPS)append in place; tiled attention, fused MLP~one written entry (illustrative)~93% peak bandwidth, ~6× vs non-fusion (AMD Ryzen AI NPU, Phi-3-mini-4k BF16, arXiv:2607.11211)

Because the change lives in how the token phase touches memory rather than in the model's weights, it is a systems win, not an accuracy trade — the reported gains are relative to the same model run without fusion. The model didn't get smaller and the math didn't change — the accelerator just stopped recopying a cache it already held.

Goes deeper in: LLM Internals → KV Cache → Memory Cost

Continue in trackRoofline — why token generation is memory-bandwidth-bound

Related explainers

FastTPS attacks the KV-cache cost of the token phase by not recopying it to append; these siblings attack the same cost from other angles — shrinking it, compressing it, or splitting where it lives.

Frequently Asked Questions

Check what you knowMap your AI & GPU knowledge across every track — free, role-based