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.
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 strategy | How the KV cache is grown each step | Concat memory cost (illustrative) | What the accelerator does |
|---|---|---|---|
| Non-fusion baseline | reload + recopy the whole cache to concatenate | ~all prior entries (illustrative) | redundant traffic on top of the attention read |
| Reloading-free concatenation | write 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-boundRelated 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.
- WorldKV — Evict-and-reinsert KV — bounds the cache by warehousing old entries and fetching them back, where FastTPS instead avoids recopying the entries it keeps
- InfoKV — Entropy-aware KV compression — makes each KV entry smaller so there is less to move; complementary to reloading-free concatenation
- AMD Atom — Prefill/decode disaggregation — another AMD-accelerator serving win, splitting the phases instead of fusing the token phase's memory access