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) |
|---|---|---|---|
312 |
2 |
156 |
|
989 |
3.35 |
295 |
|
2250 |
8 |
281 |
|
1979 |
3.35 |
592 |
|
4500 |
8 |
562 |
|
9000 |
8 |
1125 |