FP8与FP32吞吐量对比解释 | AI生成和翻译

Home 2026.06

问题: 为什么 FP8 的位宽仅为 FP32 的 1/4(32÷8),却能带来 16 倍的吞吐量提升?

答案:

这 16 倍提升源于两个独立因素的叠加效应

  1. 内存带宽 ×4 — 在相同字节寻址的内存总线上,可容纳 4 倍于 FP32 的 FP8 数值
  2. 硬件并行度 ×4 — 张量核心能在相同时钟周期和芯片面积内,执行 4 个 FP8 运算,而 FP32 仅能执行 1 个

这两个因素是相乘而非相加关系:4 × 4 = 16 倍。

以下是 GPU 视角的解读:

内存层面:

相同 900 GB/s 内存带宽下:
- FP32:900 GB/s ÷ 4 字节 = 225 GFLOPS(内存受限)
- FP8: 900 GB/s ÷ 1 字节 = 900 GFLOPS(内存受限)

硬件执行层面: 现代 GPU(NVIDIA Hopper、H100)在每个张量核心指令中封装了多个 FP8 运算:

FP32:每个核心每周期执行 1 次乘加运算(MAC)
FP8: 每个核心每周期执行 4 次 MAC(占用相同物理空间)

在执行密集矩阵运算(如 2614.9 TFLOPS 的峰值场景)时,你会同时获得两项优势

关键在于 FP8 为此专门设计——NVIDIA 的张量核心内置原生 FP8 指令,同时利用了数据密度和算术并行性。

那为什么不总是 4 倍? 因为部分工作负载受限于计算能力(而非内存带宽)。若受限于内存带宽,你仅能获得 4 倍提升。但对于现代硬件上依托专用张量核心执行的矩阵乘法运算,则可实现完整的 16 倍增益。


Back Donate