FlashAttention 术语表

阅读论文、代码和性能讨论时常见概念速查

术语含义在 FlashAttention 中的作用
HBM(High Bandwidth Memory) GPU 全局显存,容量大(数十 GB)、带宽高但延迟高。 存储 Q、K、V、O;标准 attention 会把 S/P 矩阵也写回 HBM 造成瓶颈。
SRAM / Shared Memory 每个 SM 上的高速片上内存(A100 约 164 KB/SM),延迟低。 FlashAttention 把 Q/K/V/O 的 tile 加载到 SRAM,在片上完成 QK^T、softmax、PV。
Tensor Core NVIDIA GPU 上的专用矩阵乘加单元。 执行 GEMM(QK^T、PV 等),峰值算力远高于 CUDA Core。
Tiling 把大矩阵分成小块(tile)依次处理。 让 O(N²) 的中间矩阵不必完整驻留 HBM,而是每次只处理一个 tile。
Online Softmax 单次流式计算 softmax:维护 running max m 和 running sum-exp l。 使得 softmax 可以在 tile 边界上增量更新,是 tiling 的关键。
Recomputation 反向传播时不保存 S/P 矩阵,而是在 backward 时重新计算。 把 backward 的内存从 O(N²) 降到 O(N),以额外计算换取显存。
IO-aware 算法设计时显式考虑内存访问量和层级。 FlashAttention 的核心卖点:用更少 HBM 流量把 bandwidth-bound 问题变成 compute-bound。
Sequence Parallelism 在序列长度维度上做并行。 FlashAttention-2 把 query tile 作为外层循环,天然可并行化。
TMA(Tensor Memory Accelerator) Hopper 引入的专用硬件,异步 global↔shared memory 拷贝。 FlashAttention-3 用 TMA 让 load 与 compute 重叠,减少寄存器压力。
WGMMA Warp Group Matrix Multiply-Accumulate,Hopper 异步 Tensor Core 指令。 FlashAttention-3 的核心计算指令,支持从 shared memory 异步发起 MMA。
Warp Specialization 把 warps 分成 producer(load)和 consumer(MMA)两类。 让 TMA 和 WGMMA 并发执行,隐藏内存延迟。
TMEM(Tensor Memory) Blackwell 新增的片上内存,MMA 可直接写入。 FlashAttention-4 用 TMEM 减少寄存器压力、支持更大 tile。
2-CTA MMA Blackwell 上两个 CTA 协作完成一次 MMA。 FlashAttention-4 backward 用 2-CTA MMA 减少 shared memory 流量和全局 atomic。
CuTe-DSL NVIDIA 基于 Python 的 kernel DSL。 FlashAttention-4 完全用 CuTe-DSL 实现,编译速度比 C++ 模板快 20–30×。
LPT Scheduling Longest-Processing-Time-First,按处理时间排序调度。 FlashAttention-4 用它处理 causal/变长序列的负载不均衡。
Block Quantization 按 tile/block 做量化的缩放因子。 FlashAttention-3 FP8 配合 block quantization + incoherent processing 控制数值误差。
非对称缩放(Asymmetric Scaling) Tensor Core 每代翻倍,但 exp 单元 / 共享内存带宽等不随之提升。 FA-4 的核心设计约束:瓶颈从 MMA 转到 exp(前向)和 smem 流量(后向)。
MUFU / 软仿真 exp 多功能单元算 exp(吞吐 16 ops/clock/SM);软仿真指用 FMA 多项式近似 2^x。 FA-4 用 Cody-Waite 拆分 + degree-3 多项式,与 MUFU 并行,只仿真 10–25% entry。
条件 rescale(τ) online softmax 仅当 max 跳变 > τ 才 rescale,τ = log₂256 = 8。 FA-4 跳过小跳变的 rescale,最后统一归一,省向量乘;warp 粒度避免 divergence。
DSMEM Distributed Shared Memory,cluster 内 CTA 间共享内存交换。 FA-4 后向用它交换半块 dS,使 dQ 变成 (M/2, 2N) 并减半 global atomic。
SPT 调度 / 确定性模式 Shortest-Processing-Time-first 排序;确定性指用信号量锁固定 dQ 累加顺序。 FA-4 确定性后向达非确定性的 85–90% 吞吐,支持可复现训练(强化学习)。
记忆口诀

FA-1:把 attention 切成 tile,用 online softmax 在 SRAM 里 fuse 计算;反向时 recomputation。
FA-2:调 loop order,把 query 放外层,增大并行度,减少非 matmul 开销。
FA-3:Hopper 异步化(TMA + WGMMA + warp specialization),引入 FP8。
FA-4:Blackwell 重架构(TMEM + 2-CTA MMA + LPT 调度 + CuTe-DSL)。