- Decode with contiguous cache uses flash_attn_with_kvcache instead of materializing full KV via gather + flash_attn_func - _backend_supports allows FlashAttnBackend for decode (q_len==1) even with explicit mask - Decode speedups vs TorchNative (B=1,4,8,16 mean): cuda 1.55x, flash 1.40x, torch_native 1.00x - Read K/V directly from flat pool via cache_batch_idx + cache_seqlens, zero-copy view reshape