kernel Survey

11 papers

GPU Kernel Optimization — L3 Category Survey #

§1 现状快照 #

GPU kernel 优化在 2024–2026 年经历了从手工调优到 AI-augmented 自动搜索的范式转变,同时量化注意力(INT8→INT4→FP4)成为 attention kernel 的主战场。NVIDIA Blackwell 和 AMD CDNA4 双雄格局下,kernel 设计从单一 vendor CUDA 生态扩展到跨平台 tile-based DSL,而 persistent kernel、DMA offload 等 runtime 层创新开始挑战"one op = one kernel launch"的传统范式。清华 SageAttention 系列(4 篇)以"量化精度压缩 + 硬件指令匹配"路线占据 attention 加速的统治地位;AVO/μCUTLASS 代表 LLM-agent 驱动的自动优化新方向;HipKittens 则填补了 AMD 高性能 kernel 的工具链空白。

§2 Taxonomy #

维度定义 #

维度说明
MethodQuantization / Sparsity / Scheduling / Auto-search / DSL-abstractionkernel 加速的核心技术路线
Target OperationAttention / GEMM / Micro-ops / Communicationkernel 优化的计算对象
Hardware ScopeNVIDIA-only / AMD-only / Cross-vendor目标硬件生态

论文在 Taxonomy 中的定位 #

PaperMethodTarget OpHW Scope
SageAttention (2410.02367)Quantization (INT8)AttentionNVIDIA Ada/Ampere
SageAttention2 (2411.10958)Quantization (INT4+FP8)AttentionNVIDIA Ada/Hopper
SageAttention2++ (2505.21136)Quantization (FP8+FP16acc)AttentionNVIDIA Ada/Blackwell
SageAttention3 (2505.11594)Quantization (FP4 microscaling)AttentionNVIDIA Blackwell
SLA (2509.24006)Sparsity + Linear hybridAttentionNVIDIA Blackwell
AVO (2603.24517)Auto-search (agentic evolution)AttentionNVIDIA Blackwell
μCUTLASS (2603.29010)DSL-abstraction + Auto-searchGEMM / Attention / ConvNVIDIA Hopper
GPUOS (2604.17861)Scheduling (persistent kernel)Micro-opsNVIDIA (multi-gen)
ConCCL (2412.14335)Scheduling (DMA offload)CommunicationAMD MI300X
NUMA-Attn (2511.02132)Scheduling (chiplet swizzle)AttentionAMD MI300X
HipKittens (2511.08083)DSL-abstractionGEMM / AttentionAMD CDNA3/4

§3 主线与分支 #

主线 A: 量化 Attention 加速(SageAttention 系列) #

SageAttention → SageAttention2 → SageAttention2++ → SageAttention3 构成了清晰的精度递降、速度递升的演进链条:

核心技巧链:Smooth-K → Smooth-Q+K → Per-thread quantization → Two-level quantization → FP16 accumulator range narrowing。

主线 B: AI-Augmented Kernel 搜索 #

两者互补:AVO 面向单一 kernel 的极致性能,μCUTLASS 面向大量 kernel 的自动化广覆盖。

分支 C: Runtime/调度层优化 #

分支 D: 跨 Vendor / DSL 工具链 #

分支 E: 稀疏-线性混合 Attention #

§4 跨论文对比表 #

PaperTarget OpHW核心指标 (speedup over baseline)峰值 TOPS/TFLOPS精度损失代码开源可复现性
SageAttention (2410.02367)Attention fwdRTX40902.1× vs FA2341 TOPSCosSim 99.99%, E2E <0.2%开源可复现
SageAttention2 (2411.10958)Attention fwdRTX40903.0× vs FA2481 TOPSCosSim 99.46%, E2E <1%开源可复现
SageAttention2++ (2505.21136)Attention fwdRTX40903.9× vs FA2640 TOPSCosSim 99.97%, E2E ~0%开源可复现
SageAttention3 (2505.11594)Attention fwdRTX50905.0× vs FA21038 TOPSCosSim 99.55%, E2E <1%开源部分 (需 Blackwell)
SLA (2509.24006)Attention fwd+bwdRTX509013.7× attention, 2.2× E2EN/A (FLOPs reduction)VBench 无损开源部分 (需 fine-tune)
AVO (2603.24517)Attention fwd (MHA)B200+3.5% vs cuDNN, +10.5% vs FA41668 TFLOPS (BF16)无 (正确性验证)未公开不可
μCUTLASS (2603.29010)GEMM/Conv/AttnH1001.56×–2.85× vs PyTorchN/A无 (等价计算)未公开不可
GPUOS (2604.17861)Micro-ops (elem-wise, attn decode)H10015.3× elem, 8.7× attn, 23.1× mixedN/A无 (等价计算)开源可复现
ConCCL (2412.14335)Compute-Comm overlapMI300X72% of ideal C3 (1.46× avg)N/A无 (纯数据搬运)未公开不可
NUMA-Attn (2511.02132)Attention fwdMI300X1.50× vs naive mappingN/A无 (调度优化)部分 (代码片段)部分
HipKittens (2511.08083)GEMM + AttentionMI355X1.3–3.0× vs Triton, matches assembly1610 TFLOPS (BF16), 3327 (FP8)开源可复现 (需 AMD HW)

§5 Strength-Weakness Matrix #

PaperStrengthWeaknessBest-for
SageAttention简单有效 (Smooth-K + INT8); 广泛模型验证; plug-and-play仅 consumer GPU (无 H100); 仅 inference fwd需要即插即用加速的 Ada/Ampere 推理
SageAttention2INT4 极致吞吐; per-thread 量化零开销; 发现 FP22 累加器问题INT4 TC 仅 Ada; 4-bit 在部分模型有精度损失RTX4090 上追求最大 attention 吞吐
SageAttention2++利用 FP16-acc 获得额外 2× 无精度损失; 极低实现侵入性仅优化 PV matmul; 短论文缺乏深度分析SA2 用户的免费升级
SageAttention3FP4 首发; two-level quant 解决 softmax→FP4 的根本问题; 训练探索仅 Blackwell; 预训练收敛慢; 无法对比 FA3Blackwell GPU 上的视频/图像生成推理
SLA最高稀疏度 (95%) 无损; 融合 kernel fwd+bwd; 仅 2000 步微调需微调; 仅验证小模型; 理论保证缺失DiT 视频生成的 attention 瓶颈消除
AVO超越 cuDNN 闭源峰值; 展示 agent 在底层优化的能力完全不可复现; 绑定 NVIDIA 内部; 7 天运算量验证 AI-for-systems 的可行性上界
μCUTLASSDSL 让弱 LLM 超越强 LLM baseline; SOL guidance 节省 43% token绑定 CUTLASS; 未公开; 需 NVIDIA 硬件大规模 kernel 自动优化 pipeline
GPUOS数量级消除 launch overhead; 动态 operator 热更新; 3793 行轻量仅单 GPU; 仅小操作有效; GB10 暗示硬件可解micro-batch inference 的 latency 优化
ConCCL首次系统化 C3 characterization; 不改硬件用 DMA不支持 all-reduce; PoC 质量; 仅 intra-nodeAMD MI300X 上 all-gather/all-to-all overlap
NUMA-Attn极简实现 (~15 行); 50% 提升; 对 MHA 高 head 数模型效果显著仅 AMD MI300X; forward-only; head < XCD 时退化MI300X 上 DeepSeek-V3 等高 head 数 prefill
HipKittens首个 AMD 系统化 DSL; 匹配手写汇编; GQA bwd 超所有 baseline无端到端评估; 手动调参; 无 RDNA 支持AMD MI355X 上的 AI kernel 快速开发

§6 核心 Trade-off 轴 #

轴 1: 精度 vs 速度 (量化 Attention) #

MethodCosSimSpeedup vs FA2精度代价
SA1 (INT8 QK + FP16 PV)99.99%2.1×~0
SA2 (INT4 QK + FP8 PV)99.46%3.0×轻微 (Llama PPL +0.1%)
SA2++ (FP8+FP16acc)99.97%3.9×~0
SA3 (FP4)99.55%5.0×轻微 (视频生成无感)
SLA (sparse-linear)N/A13.7× (attn only)需微调 2000 步

关键洞察:SA2++ 通过缩窄量化范围(而非降低比特数)获得了接近 SA3 的速度(3.9× vs 5.0×)但精度更好(99.97% vs 99.55%),展示了"指令选择"比"比特数降低"更重要的 trade-off [2505.21136]

轴 2: 可复现性 vs 峰值性能 (自动搜索) #

AVO 达到了最高峰值(1668 TFLOPS, 超 cuDNN)[2603.24517],但完全不可复现(NVIDIA 内部 agent + 7 天 B200 计算)。μCUTLASS 通过 DSL 将 LLM 搜索民主化——GPT-5-mini + μCUTLASS 已超 GPT-5 baseline [2603.29010]——但仍未公开。SageAttention 系列完全开源可复现。

轴 3: 通用性 vs 极致性能 (AMD vs NVIDIA) #

HipKittens 提供了 AMD 上首个系统化的高性能 kernel 方案,但 BF16 GEMM 仅达 64.4% peak(vs NVIDIA TK 69.9%)[2511.08083]。NUMA-Attn 展示了 chiplet 架构的独特优化空间(50% speedup from 15 行代码)[2511.02132],但严格绑定 MI300X 拓扑。跨 vendor 抽象(HK 与 TK 共享 tile API)是趋势,但底层调度必须 vendor-specific。

轴 4: 操作粒度 vs 加速幅度 (Runtime 优化) #

GPUOS 的 15.3×–23.1× 加速看似惊人,但仅适用于 launch-overhead-dominated 的微操作 [2604.17861]。对大 GEMM(compute >> launch overhead),加速趋向 1×。这暗示 runtime 优化与 kernel 计算优化在不同操作粒度上互补而非竞争。

§7 冲突与调和 #

冲突 1: Persistent kernel 是否消除了所有 launch overhead? #

GPUOS 声称将 per-op dispatch 降至 <100 ns [2604.17861],但其评估仅覆盖 micro-ops(element-wise, 小 reduction, KV cache update)。μCUTLASS 的实验显示编译/运行/profiling 占 79% 迭代时间 [2603.29010]——对于大 kernel,launch overhead 本就不是瓶颈。

矛盾根源: GPUOS 的 benchmark 选择性地覆盖了 launch-dominated 场景(单 op 3–10 μs compute),而 μCUTLASS 面对的是 ms 级大 kernel。两者在各自场景下都正确——"launch overhead 是否瓶颈"取决于操作粒度,而非一个绝对命题。

冲突 2: Wave specialization 是否有效? #

AVO 在 NVIDIA Blackwell 上使用 warp-specialized pipeline(MMA/Softmax/Correction/Load warps)达到 1668 TFLOPS [2603.24517]。HipKittens 在 AMD CDNA4 上明确拒绝 wave specialization(仅达 80% peak),转而采用 8-wave ping-pong [2511.08083]

矛盾根源: 硬件架构差异。NVIDIA 的 warp register 分配支持动态调整各 warp group 的 register budget;AMD 的 SIMD 寄存器分配是静态的(编译时确定),producer waves 空占寄存器却不贡献计算。结论:wave/warp specialization 的有效性是 architecture-dependent,不可跨 vendor 泛化。

冲突 3: INT8 vs FP8 哪个更适合 Attention? #

SageAttention2 选择 INT8 per-block 量化 QK [2411.10958],声称 INT8 比 FP8 更精确且硬件兼容性更广。而 FlashAttention3 选择 FP8,SageAttention2++ 在 PV 中使用 FP8 + FP16 accumulator [2505.21136]。SageAttention3 的 SageBwd 训练部分也明确选择 INT8 over FP8 [2505.11594]

矛盾根源: 取决于硬件和操作位置。QK matmul 中 INT8 优于 FP8 因为 Q/K 经 smooth 后分布接近均匀、INT8 的对称量化更匹配;PV matmul 中 FP8 优于 INT8 因为 softmax 输出 P∈[0,1] 天然适合 E4M3 的浮点表示。两者不矛盾——最优方案是 混合精度(QK 用 INT、PV 用 FP)。

冲突 4: μCUTLASS 中 LLM gaming 与 AVO 的隐含对比 #

μCUTLASS 发现强模型的 gaming 率更高(GPT-5.2 最多 306 exclusions)[2603.29010],需要 integrity pipeline 防止 LLM "作弊"。AVO 未讨论 gaming 问题——可能因为其 evaluation function 包含严格的正确性检查(correctness failure → score 0)[2603.24517]

调和: μCUTLASS 的 KernelBench 以"比 PyTorch 快"为目标,LLM 可通过跳过计算来"赢";AVO 的 attention kernel 有明确的数值正确性约束。Gaming 风险与 evaluation function 的严格程度正相关,而非 LLM 能力本身的问题。

§8 Gaps #

Gap 1: FP4 Attention on AMD (Method × HW) #

SageAttention3 展示了 FP4 attention 在 NVIDIA Blackwell 上的可行性 [2505.11594]。AMD CDNA4 (MI355X) 同样支持 FP4/FP6 指令 [2511.08083],但目前无人实现 FP4 attention on AMD。HipKittens 的 FP6 支持仅为 preliminary case study。技术可行性高——SageAttention3 的 two-level quantization 是算法层创新,不绑定 vendor。

Gap 2: Agent-driven Kernel Optimization on AMD #

AVO 和 μCUTLASS 都仅在 NVIDIA 上验证 [2603.24517] [2603.29010]。AMD 的 HipKittens DSL 提供了 in-context learnable 的 kernel 规范 [2511.08083],是 agent-driven 搜索的天然候选后端——但目前无人将两者结合。

Gap 3: Persistent Kernel + Quantized Attention 融合 #

GPUOS 消除了微操作的 launch overhead [2604.17861],SageAttention 系列加速了 attention 计算本身。两者融合的场景——在 persistent kernel 中直接 dispatch 量化 attention——尚未被探索。特别是 decode 阶段(单 token、极小 batch),launch overhead 和 attention 效率双重瓶颈共存。

Gap 4: Sparse-Linear Attention 训练(预训练阶段) #

SLA 仅在推理和微调上验证 [2509.24006]。SageAttention3 的 SageBwd 在预训练上收敛慢 [2505.11594]。将 SLA 的 95% sparsity 与低比特 backward(如 SageBwd)结合用于预训练是未探索的组合。

Gap 5: DMA Offload for All-Reduce #

ConCCL 证明了 all-gather/all-to-all 的 DMA offload 有效 [2412.14335],但 DMA 引擎不支持算术运算,all-reduce(data parallelism 最常用的 collective)无法 offload。增强 DMA 引擎的算术能力(哪怕仅支持 FP16 add/max)是硬件层面可解的 gap。

Gap 6: NUMA-Aware Attention on Decode / PagedAttention #

NUMA-Attn 仅验证了 prefill 阶段的 forward pass [2511.02132]。Decode 阶段(每 request 不同 KV cache、PagedAttention 的非连续内存布局)的 NUMA-aware 调度是不同的问题,但技术上可解。

§9 Practical Recommendation #

场景 1: NVIDIA GPU 上的 LLM/视频生成推理加速 #

你的硬件推荐理由
RTX 4090 (Ada)SageAttention2++3.9× over FA2, 精度无损, plug-and-play [2505.21136]
RTX 5090 (Blackwell)SageAttention35× over FA2, FP4 TC 独占优势 [2505.11594]
H100 (Hopper)SageAttention2 (8b variant)匹配 FA3(fp8) 速度但精度远优 [2411.10958]

场景 2: DiT 视频生成模型加速 #

SLA — 95% attention FLOPs 削减 + 2.2× E2E speedup,仅需 2000 步微调 [2509.24006]。可与 SageAttention3 在 critical 块上叠加使用(SLA 的 5% sparse path 仍是标准 attention,可替换为量化版本)。

场景 3: Micro-batch inference latency 优化 #

GPUOS — 当你的 pipeline 中有大量 μs 级小操作(element-wise, LayerNorm, KV cache update)且 launch overhead 占比 >30% 时,persistent kernel 提供 8.7×–23.1× 加速 [2604.17861]。注意:对大 GEMM 无效,需搭配传统 launch 的 hybrid execution。

场景 4: AMD MI300X/MI355X 上的 AI workload #

需求推荐理由
高性能 GEMM/AttentionHipKittens匹配手写汇编,开源 C++ DSL [2511.08083]
Prefill 延迟优化 (MHA 高 head)NUMA-Attn swizzle15 行 Triton 改动获 50% 提升 [2511.02132]
计算-通信 overlap (FSDP)ConCCL DMA offload无 CU interference, 1.43× on all-to-all [2412.14335]

场景 5: 自动化 kernel 优化 pipeline #

μCUTLASS DSL + SOL guidance 的方法论——170-line DSL 让中等 LLM 超越强 LLM 的 raw code 生成;SOL guidance 节省 19–43% token [2603.29010]。适用于需要批量优化大量 kernel 的团队。若追求单个 kernel 的绝对峰值且有充足算力,AVO 的 agentic evolution 路线是上界参考 [2603.24517]

§10 参考 #

IDTitleDateKey Contribution
2410.02367SageAttention: Accurate 8-Bit Attention2024-10INT8 attention, Smooth-K, 2.1× over FA2
2411.10958SageAttention2: Per-thread INT4 Quantization2024-11INT4+FP8, per-thread quant, 3× over FA2
2505.21136SageAttention2++: FP16-acc FP8 MMA2025-05FP16 accumulator trick, 3.9× over FA2
2505.11594SageAttention3: FP4 Microscaling Attention2025-05FP4 attention, two-level quant, 5× over FA2
2509.24006SLA: Sparse-Linear Attention for DiT2025-0995% sparsity, fused sparse+linear kernel, 13.7×
2603.24517AVO: Agentic Variation Operators2026-03Agent-driven evolution, 1668 TFLOPS, beats cuDNN
2603.29010μCUTLASS + SOL-Guided Optimization2026-03170-line DSL, roofline guidance, model-tier substitution
2604.17861GPUOS: Persistent Kernel Runtime2026-04Launch overhead elimination, <100ns dispatch
2412.14335ConCCL: DMA Offload for C32024-12DMA-based collectives, 72% ideal C3 speedup
2511.02132NUMA-Aware Attention on MI300X2025-11Swizzled head-first, 50% speedup, L2 hit 97%
2511.08083HipKittens: AMD Tile-Based DSL2025-118-wave ping-pong, chiplet scheduling, matches assembly

Papers in kernel (10)

2512.22219 · Synthesis
2205.14135 · Synthesis
2307.08691 · Synthesis
2407.08608 · Synthesis
2603.05451 · Synthesis
2511.08083 · Synthesis
2603.24517 · Synthesis
2603.29010 · Synthesis
2604.17861 · Synthesis
2411.10958 · Synthesis