title: 什么是内存带宽?

内存带宽是指数据在内存层次结构的不同层级之间传输的最大速率。

它代表了以字节/秒为单位移动数据时理论上可达到的最大吞吐量。它决定了硬件屋顶线模型中"内存屋顶"的斜率。

在一个完整的系统中有许多内存带宽——内存层次结构的每一层级之间都有一个带宽。

最重要的带宽是GPU显存流式多处理器 (SM)寄存器文件之间的带宽,因为大多数内核工作集只能存放在GPU显存中,而无法放在内存层次结构中更高的层级。正是由于这个原因,在GPU内核性能的屋顶线建模中,该带宽是主要使用的带宽。

当代GPU的内存带宽以TB/秒为单位进行测量。例如,B200 GPU与其HBM3e内存之间的(双向)内存带宽为8 TB/秒。这远低于这些GPU中张量核心算术带宽,从而导致屋顶线模型中的脊点所需的算术强度增加。

下表列出了从Ampere到Blackwell流式多处理器架构的NVIDIA数据中心GPU的代表性带宽数值。

系统(计算/内存) 算术带宽 (TFLOPs/s) 内存带宽 (TB/s) 脊点 (FLOPs/byte)
A100 80GB SXM BF16 TC / HBM2e 312 2 156
H100 SXM BF16 TC / HBM3 989 3.35 295
B200 BF16 TC / HBM3e 2250 8 281
H100 SXM FP8 TC / HBM3 1979 3.35 592
B200 FP8 TC / HBM3e 4500 8 562
B200 FP4 TC / HBM3e 9000 8 1125