从 tiling + online softmax 到 Hopper/Blackwell 硬件协同设计,理解 attention 为什么能越算越快。
为什么 FlashAttention 能把 attention 从 memory-bound 变成 compute-bound:tiling、online softmax、kernel fusion、recomputation。
为后续硬件优化打基础:Register、Shared Memory、L2、HBM 的带宽延迟差异,CUDA Grid/Block/Warp/Thread,Tensor Core 与 memory-bound vs compute-bound。
把 query tile 放到外层循环后,如何减少 Q_i/O_i 的 HBM 往返、增加 sequence-length parallelism、降低非 matmul 开销。
FA-2 在 H100 仅用满 35%,FA-3 如何用 WGMMA/TMA warp specialization、pingpong 与 intra-warpgroup 重叠 GEMM-softmax,并用 incoherent processing 吃下 FP8 双倍算力。
基于真实模型 kernel-trace 级性能分析:在 PPU810E(非 Hopper)平台上 FA-3 走 CUTLASS Sm80 路径,eager 快 1.2–2×,但 torch.compile 反而变慢;Vision dense 场景 SDPA 比 FA-3 更快。
Blackwell 的 MMA 翻倍但 exp/共享内存带宽没动,瓶颈转移到 exp。FA-4 用 TMEM 累加器、软仿真 exp(FMA 多项式与 MUFU 并行)、条件 rescale 把 exp 瓶颈藏起来。
后向 5 个 MMA 让共享内存流量超 MMA 30% 成瓶颈。FA-4 用 TMEM 累加器解锁多 MMA 并行、2-CTA MMA 砍 operand-B 流量、DSMEM 交换减半 dQ atomic、确定性模式支持可复现训练;外加架构无关的 LPT 调度和 CuTe-DSL。系列主线完结。
每节课聚焦一个 tightly-scoped 的主题,建议按编号顺序读。先建立 FA-1 的核心直觉,再逐代理解 2/3/4 的硬件针对性优化。
每课末尾都有选择题。认真做——提取练习是加深记忆最有效的方式之一。
术语表和演进速查是压缩后的知识单元,适合复习和面试前快速回顾。
每节课里都提醒你随时提问。伪代码哪一行不清楚、某个硬件特性不明白,都可以继续聊。
以下内容来自 MISSION.md
✓ 用自己的话讲清 FlashAttention 的核心思想:tiling + online softmax + recomputation
✓ 逐代比较 FlashAttention-1/2/3/4 的优化重点、目标硬件和关键瓶颈转移
✓ 把每代优化映射到工程实现细节(loop order、CUDA instruction、async pipeline、低精度)
✓ 独立阅读相关论文、代码和性能 profile