一、背景
之前我们具体介绍过 NVIDIA 的 GPU,包括详细的架构、算力、NVLink 和 NVSwitch 互联方式等。借着 NVIDIA 在发布最新、最强大的 Blackwell 系列 GPU B200 和 GB200 的契机,简单补充一下相关的参数信息,以及互联方式等。进而了解官网的这些数据是怎么得到的:
技术交流
前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~
我们建了大模型 GPU 技术交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。
方式①、微信搜索公众号:机器学习社区,后台回复:技术交流
方式②、添加微信号:mlc2040,备注:技术交流+CSDN
二、各种关系
2.1 H100 和 H200
如下可以看出,H200 相比 H100 的算力一样,只是显存更大,8 GPU 最大显存从 640GB 增加到 1.1TB。8 GPU 的 稀疏 FP16 算力都为 16PF,稀疏 FP8 为 32 PF。
2.2 B100 和 B200
B100 和 B200 分别与之前的 H100 和 B200 对应,都是不带 Grace CPU 的版本,可以配合 Intel CPU 或 AMD CPU 使用。
B100 和 B200 的显存相比 H100 和 H200 都大,8 GPU 最大可支持 1.4TB 显存(PS:如果按照一个 GB200 对应 384 GB 显存,此处的 HGX 应该有 192*8=1.536TB 显存,也许 B100 和 B200 的显存不到 192 GB?)。
B100 的算力是 B200 的 3/4 左右。8*B100 的稀疏 FP16 算力为 28PF,8*B200 的稀疏 FP16 算力为 36PF,可见 8*B200 的稀疏 FP16 算力为 8*H100/H200 的 2.25 倍。相当于单个 B200 的稀疏 FP16 算力为 4.5PF(与后文中 GB200 中的 GPU 不太相同)。
Blackwell 的 Tensor Core 相比 Hopper 添加了对 FP6 和 FP4 的支持,从上图也可以看出其 FP4 算力为 FP8 算力 2 倍,FP16 算力 4 倍。而 Blackwell 的 CUDA Core 不再支持 INT8。此外,从 Hopper 开始都不再支持 INT4。
Blackwell 的 Tensor Core 添加了对 Microscaling 数据格式的支持,可能也是通过这种方式支持了 FP8、FP6、FP4 和 INT8:
如下图 Table 1 所示为 Microscaling 规范的格式类型:
2.3 NVLink 和 NVSwitch
B100 和 B200 支持的为第 5 代 NVLink 和第 4 代 NVSwitch。
第 5 代 NVLink 的每个 GPU 上依然有 18 个 NVLink,不过单 Link 双向带宽从 H100 的第 4 代 NVLink 的 50GB/s 升级到 100GB/s。所以 B100 和 B200 的 GPU-to-GPU 带宽上限为 1.8TB/s。
第 4 代 NVSwitch Tray 包含 144 个 NVLink Port,单 Port 的带宽为 100GB/s,支持的带宽上限为 14.4TB/s。第四代 NVSwitch System 可以支持多达 576 个 GPU,所以总的带宽上限可达 576*1.8TB/s=1PB/s(下文会介绍如何达到)。
如下图所示,NVSwitch Tray 包含 2 个 NVSwitch 芯片:
第 3 代 NVSwitch 芯片含 64 个 NVLink Port(逻辑),每个 Port 对应 2 个 线(一进一出),相当于可以接 64 个 NVLink。
2.4 GH200
GH200 是 NVIDIA 去年发布的 H200 GPU 与 Grace CPU 的结合体,一个 Grace CPU 对应一个 H200 GPU,H200 GPU 的显存可以达到 96GB 或 144GB。最多可以实现 256 个 GH200 的全互联。
2.5 256 GH200 全互联
如下图所示,GH200 可以实现 256 GH200 的全互联(全互联是指每个 GPU 都能达到理论的 NVLink 通信上限),也就是带宽上限为 256*900GB/s=230TB/s:
-
第一级是第 3 代 NVSwitch,每个 NVSwitch Tray有 128 个 Port,单 Port 双向带宽为 50GB/s。H100 GPU 有 18 个 NVLink,第一级每 8 个 GPU 有 3 个 NVSwitch,总共 96 个 NVSwitch。每个第一级 NVSwitch 有 8*18/3=48 个 Port 连接 8 个 GPU。
-
第二级需要 256*18/128=36 个 NVSwitch。
2.6 GB200
和 GH200 不同,一个 GB200 由 1 个 Grace CPU 和 2 个 Blackwell GPU 组成(注意,单个 GPU 算力不完全等价 B200),一个 GPU 的显存为 192GB,所以一个 GH200 显存为 384GB。
2.7 GB200 Compute Tray
GB200 Compute Tray 是基于 NVIDIA MGX 设计的,一个 Compute Tray 包含 2 个 GB200,也就是 2 个 Grace CPU、4 个 GPU。如下图所示:
每个 GB200 Compute Tray 支持 1.7TB Fast Memory,如果说的是每个 Blackwell 上的显存的话应该是 192GBx4=768GB,不确定这里说的 1.7TB 是否包含了每个 GB200 上额外的 480GB LPDDR5X,相加起来为 768GB + 480GBx2=1728GB 也对得上:
2.8 GB200 NVL72 & NVL36
一个 GB200 NVL72 包含 18 个 GB200 Compute Tray,所以包含 36 个 Grace CPU,72 个 GPU,对应的显存为 72*192GB=13.8TB,对应的 Fast Memory 为 18*1.7TB=30.6TB。此外还包含 9 个 NVSwitch Tray。
实际上 NVIDIA 也提供了 NVL36 的配置,还是 18 个 GB200 Compute Tray,但是每个 GB200 Compute Tray 中只放一个 GB200,也就是总共 18 个 Grace CPU 和 36 个 B200 GPU。
对应的算力如下图所示:
从上可以看出 GB200 上每个 GPU 的稀疏 FP16 算力为 5PF,而 HGX 中 B200 的稀疏 FP16 算力只有 4.5PF(也就是 B200 的算力基本上为 GB200 中单个 GPU 算力的 90%),具体如下表所示(不过 HGX B200 和 B100 显存不太对得上):
2.9 GB200 NVL72 全互联
一个 GB200 NVL72 包含 72 个 Blackwell GPU,每个 Blackwell GPU 有 18 个 NVLink,而每个第 4 代 NVSwitch Tray 包含 144 个 NVLink Port,所以只需要 72*18/144=9 个 NVSwitch Tray 即可以实现 NVL72 的全互联,也就是每个 NVSwitch Tray 和每个 GPU 有 2 个 NVLink Port 是互联的。理论带宽上限为 72*1.8=130TB/s。
2.10 SuperPod(576 Blackwell GPU)全互联
SuperPod 由 8 个 NVL72 组成,共 576 个 Blackwell GPU,要实现其全互联, 和下图的上一代 256 个 H200 全互联类似,需要两级 NVSwitch(理论带宽上限为 576*1.8TB/s=1PB/s):
-
第一级 NVSwitch 的一半 Port 连接 576 个 Blackwell GPU,所以需要 576 * 18/(144/2)=144 个 NVSwitch(剩余 144 * 72 个 Port)。
-
第二级 NVSwitch 的 Port 全部与第一级的 NVSwitch Port 连接,所以需要 144 * 72/144=72 个 NVSwitch。第二级的每一个 NVSwitch 都与第一级的所有 NVSwitch 连接(每一个都有 2 个 Port 连接)。
三、相关链接
-
https://www.nvidia.com/en-us/data-center/gb200-nvl72/
-
https://www.nvidia.com/en-us/data-center/hgx/
-
https://developer.nvidia.com/blog/nvidia-gb200-nvl72-delivers-trillion-parameter-llm-training-and-real-time-inference/
-
https://www.nextplatform.com/2022/03/23/nvidia-will-be-a-prime-contractor-for-big-ai-supercomputers/
-
https://developer.nvidia.com/blog/upgrading-multi-gpu-interconnectivity-with-the-third-generation-nvidia-nvswitch/