名词解释:MMA

← 返回 FP8 专文 · partial sum 漂移 · 答疑目录


MMA 是什么

MMA = Matrix Multiply-Accumulate(矩阵乘加)。

一次 MMA 在硬件上做:

$$ D \leftarrow A \times B + D $$

即:取两块小矩阵(或向量块)相乘,结果 加进 累加器 $D$(不是每次写新内存)。大矩阵乘 GEMM 在 GPU 上就是 成千上万次 MMA 拼出来 的。


在 DeepSeek-V3 FP8 语境里指什么

含义
MMATensor Core 上的 单次/单步 低精度乘加(V3 训练用 FP8
GEMM整层线性层 $Y=XW$ 的 完整矩阵乘(内部 = 多轮 MMA)
WGMMAWarp-Group MMA;Hopper(H100 等)上 一组 warp 协作 的一条 MMA 指令流,V3 论文 Figure 7(b) 标成 WGMMA 1–4
[partial sum某一输出元素在 整条 MMA 链还没加完 时的中间累加和](fp8-partial-sum-drift.md)

V3 文档里「每 $N_c{=}128$ 次 MMA」= 每做满 128 个 MMA 粒度的乘加贡献,就把 Tensor Core 里低精度 partial sum 提到 CUDA Core FP32 再累,防止漂移。


和 MHA / MQA 不要混

缩写领域含义
MMAGPU 算子 / FP8 训练Matrix Multiply-Accumulate
MHA注意力Multi-Head Attention
MQA注意力Multi-Query Attention

V3.1 Prefill MHA / Decode MQA 是 MLA 模式切换,与 FP8 的 MMA 指令 无关。


硬件落点

硬件MMA 相关职责
Tensor Core执行 FP8 MMA / WGMMA;块内低精度乘加、短链 partial sum
CUDA CoreMMA 结果 反量化(乘 $s_x s_w$);partial sum FP32 续累加

一句话

MMA = GPU Tensor Core 的 矩阵乘加原语;V3 FP8 训练里的「MMA 漂移 / 每 128 MMA 提升 FP32」都是在说 这条乘加累加链 的数值行为,不是注意力里的 MHA/MQA。