5.8. 什么是内存带宽?

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

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

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

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

最重要的带宽是 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