Split the KV, Not the Query
At autoregressive decode time with batch size 1 and a very long KV cache, a plain FlashAttention kernel leaves the GPU badly underutilized even though the same kernel is compute-efficient during prefill. Flash-Decoding fixes this by splitting the KV sequence dimension into chunks processed in parallel, then combining the partial results using log-sum-exp statistics. Why does splitting specifically along the KV dimension solve the utilization problem?
Sign in to answer questions and track your progress
Sign In