title: 什么是算术带宽?
算术带宽是指系统执行算术工作的峰值速率。
它代表了每秒算术操作可实现吞吐量的理论最大值,决定了硬件屋顶模型中"计算屋顶"的高度。
在一个完整系统中有多种算术带宽——每组提供算术操作执行带宽的硬件单元都有对应的算术带宽。
在许多 GPU 中,最重要的算术带宽是CUDA 核心的浮点算术带宽。GPU 通常为浮点操作提供的带宽高于整数操作,而统一计算设备架构 (CUDA)的关键在于CUDA 核心及其支持系统为 GPU 应用程序提供了统一的计算接口(与早期的 GPU 架构不同)。
但在近期的 GPU 中,随着张量核心的引入,架构的统一性有所减弱。张量核心仅执行矩阵乘法运算,但其算术带宽远高于CUDA 核心——张量核心与CUDA 核心带宽的比例通常约为 100:1。这使得张量核心的算术带宽对于希望最大化性能的内核最为重要。
当代 GPU 的张量核心算术带宽以 petaFLOPS(每秒千万亿次浮点运算)为单位。例如,B200 GPU在运行 4 位浮点矩阵乘法时的带宽为 9 PFLOPS。
下表列出了 NVIDIA 数据中心 GPU 从安培到布莱克威尔流式多处理器架构 (Streaming Multiprocessor Architecture)的代表性带宽数据。
| 系统 (计算 / 内存) | 算术带宽 (TFLOPs/秒) | 内存带宽 (TB/秒) | 屋脊点 (FLOPs/字节) |
|---|---|---|---|
| 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 |