Decode / Prefill / Sparse — 各平台最强 MLA Kernel 横评 (2025-2026)
当前 MLA 算子生态已经相当丰富,主要分为 Decode(memory-bound, Absorbed 路径)和 Prefill(compute-bound, Non-Absorbed 路径)两大类:
| 排名 | 算子名称 | 来源 | 峰值性能 | vs FlashMLA | 核心特点 |
|---|---|---|---|---|---|
| 🥇 | ThunderMLA | Stanford Hazy Research | 183 TFLOPS, 1520 GB/s (H100 SXM) |
+20~35% | 完全融合的 "megakernel",消除多次 kernel launch 开销;单 kernel 完成 absorption + attention + output projection |
| 🥈 | FlashMLA | DeepSeek (开源) | 660 TFLOPS, 3000 GB/s (H800 SXM5) |
基线 | Paged KV Cache 支持,变长序列优化,BF16/FP8 支持;Hopper 标杆实现 |
| 🥉 | FlashMLA-ETAP | 社区 (H20 优化) | 89 TFLOPS (H20, BS=16, 64K seq) |
2.78x @64K (H20) | 转置注意力流水线,减少 padding 开销;专为 H20 (低带宽) 设计,长序列场景大幅领先 |
| 4 | FlashInfer MLA | FlashInfer Team | 接近 FlashMLA | ~1x | FP8 KV Cache 原生支持,CUDA Graph 兼容,Paged + Ragged 灵活布局;MLSys 2025 最佳论文 |
| 5 | TileLang MLA | TileLang (开源 DSL) | 接近 FlashMLA | ~1x | 用户可自定义 tile 策略,与 FlashMLA 性能持平,显著优于 Triton 实现 |
| 排名 | 算子名称 | 来源 | 峰值性能 | 核心特点 |
|---|---|---|---|---|
| 🥇 | FlashMLA (Blackwell) | DeepSeek | ~1450 TFLOPS (B200) | Blackwell 原生 tcgen05.mma 支持,FP8/FP4 KV Cache,Paged Attention |
| 🥈 | CutlassMLA | NVIDIA (CUTLASS 3.9) | 接近 FlashMLA | SM100 原生,CUTLASS 模板库,weight-absorbed decoding;与 Fused Reduction 配合 |
| 🥉 | TRTLLM MLA | NVIDIA TensorRT-LLM | 生产级优化 | 端到端推理引擎集成,自动 kernel 选择,FP4 MoE + MLA 联合优化 |
| 4 | FlashInfer MLA | FlashInfer | 默认后端 | Blackwell 上 vLLM/SGLang 的默认 MLA decode 后端,FP8 支持 |
Prefill 阶段 MLA 走 Non-Absorbed (MHA) 路径,本质上使用标准的 FlashAttention 变体,只是 head_dim 不同:
| 排名 | 算子名称 | 平台 | 峰值性能 | 核心特点 |
|---|---|---|---|---|
| 🥇 | FlashAttention-4 (FA4) | Blackwell | 1605 TFLOPS (B200) 硬件利用率 71% |
Blackwell 原生,tcgen05.mma + Tensor Memory,MLA prefill 最优选择 |
| 🥈 | SageAttention3 (FP4) | Blackwell | 1038 TOPS (RTX 5090) 5x vs FA on 5090 |
FP4 量化注意力,利用 Blackwell FP4 Tensor Core;精度 tradeoff |
| 🥉 | FlashAttention-3 (FA3) | Hopper | 标准基线 | WGMMA + TMA 异步流水线,SGLang chunked prefix cache 唯一支持的后端 |
| 4 | FlashInfer Prefill | Ampere+ | 接近 FA3 | 灵活的 Ragged/Paged 布局,FP8 Q/K,cascade attention 支持 |
| 5 | FlashMLA Sparse Prefill | Hopper | 640 TFLOPS (H800) | Token-level sparse attention for DSA,仅 V3.2+ 模型 |
DeepSeek V3.2 引入了 DeepSeek Sparse Attention (DSA),在 token 级别做稀疏注意力,需要专门的 sparse kernel:
| 算子 | 阶段 | 峰值性能 (H800) | 峰值性能 (B200) | 说明 |
|---|---|---|---|---|
| FlashMLA Sparse Prefill | Prefill | 640 TFLOPS | 开发中 | token-level 稀疏 prefill,FP8 KV Cache 支持 |
| FlashMLA Sparse Decode | Decode | 410 TFLOPS | ~350 TFLOPS | token-level 稀疏 decode,与 DSA selection mask 配合 |
| FlashInfer Sparse MLA | Decode | 支持中 | 支持中 | FP8 KV cache + CUDA Graph,vLLM 默认 FP8 后端 |
| 算子 | GPU | 性能 | 核心特点 |
|---|---|---|---|
| AITER MLA | MI300X / MI325X / MI355X | 17x vs non-AITER baseline 1.2-1.6x vs Triton MLA |
AMD 官方 AI Tensor Engine,手工优化汇编级 kernel,vLLM 推荐默认后端 |
| FlashInfer MLA (ROCm) | MI300X+ | 与 AITER 持平 | FlashInfer 0.2 ROCm 移植,FP8 prefill 支持 |
| TileLang MLA | MI300X | 接近 AITER | DSL 生成,自动调优,与 AITER 手工汇编达到 performance parity |
| Triton MLA | MI300X+ | 基线 | Triton 后端,通用但较慢 |
| GPU | Prefill 默认 | Decode 默认 | FP8 KV Cache |
|---|---|---|---|
| Hopper (H100/H800) | FA3 / FlashInfer | FlashMLA | FlashInfer Sparse MLA |
| Blackwell (B200/B300) | FA4 | CutlassMLA / FlashInfer | FlashInfer MLA |
| AMD MI300X | AITER FA | AITER MLA | AITER MLA |
| GPU | Prefill 默认 | Decode 默认 | Chunked Prefix Cache |
|---|---|---|---|
| Hopper | FA3 | FlashMLA / FlashInfer / CutlassMLA | 仅 FA3 |
| Blackwell | FA3/FA4 | TRTLLM MLA / FlashMLA | 仅 FA3 |
| Ampere | FlashInfer | FlashInfer MLA | 不支持 |
| 场景 | 推荐算子 | 原因 |
|---|---|---|
| Hopper Decode (极致性能) | ThunderMLA | 比 FlashMLA 快 20-35%,完全融合的 megakernel |
| Hopper Decode (生产稳定) | FlashMLA | DeepSeek 官方,Paged KV Cache,生态最成熟 |
| Hopper Decode (H20 长序列) | FlashMLA-ETAP | H20 上 64K 序列比 FlashMLA 快 2.78x |
| Blackwell Decode | FlashMLA Blackwell | ~1450 TFLOPS on B200,tcgen05 原生 |
| Blackwell Prefill | FA4 | 1605 TFLOPS, 71% 硬件利用率 |
| Hopper Prefill | FA3 | 标准选择,SGLang chunked prefix cache 唯一后端 |
| Sparse MLA (DSA) | FlashMLA Sparse | 目前唯一成熟的 DSA sparse kernel |
| AMD MI300X | AITER MLA | AMD 官方优化,17x 加速,vLLM 默认 |
| FP8 KV Cache (通用) | FlashInfer MLA | 最广泛的 FP8 支持,跨平台兼容 |