diff --git a/dsv4/kernels/attention/production.py b/dsv4/kernels/attention/production.py index fec51f0f..2cb45815 100644 --- a/dsv4/kernels/attention/production.py +++ b/dsv4/kernels/attention/production.py @@ -453,10 +453,9 @@ def dsv4_attention( n_segments = (N + s_k_per_seg - 1) // s_k_per_seg if T == 1 and hd in (64, 128, 256, 512): - if n_segments == 1 and hd in (64, 128, 256): - return _dsv4_attention_fast_decode(q, k, v, scale, n_comp, sink_bias) - else: - return _dsv4_attention_multitile(q, k, v, scale, n_comp, sink_bias) + # P8: Unified fast path — multi-tile kernel handles all N + # (single-tile and multi-tile, T=1 decode) + return _dsv4_attention_multitile(q, k, v, scale, n_comp, sink_bias) # ================================================================== # SLOW PATH: CuTeDSL kernel + Python KV merge