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