经常有人问我,是NVLink版还是PCIe版。那NVLink版与PCIe版GPU的究竟有什么区别呢?严格来讲,应该是SXM版GPU与PCIe版GPU的区别。
经常有人问我,是NVLink版还是PCIe版。那NVLink版与PCIe版GPU的究竟有什么区别呢?严格来讲,应该是SXM版GPU与PCIe版GPU的区别。
先说SXM版GPU。SXM架构是一种高带宽插座式解决方案,用于将 GPU连接到英伟达专有的 DGX 和 HGX 系统。对于每一代英伟达GPU(包括H800、H100、A800、A100,以及早期的P100、V100),DGX系统 、HGX 系统都配有相应 SXM 插座类型。下图是8块A100 SXM 卡插在HGX 系统上。
专门的HGX 系统板通过 NVLink 将 8 个 GPU 互连起来,实现了 GPU 之间的高带宽。如下图所示,每个H100 GPU 连接到4个 NVLink 交换芯片, GPU之间的NVLink带宽达到900 GB/s。同时,每个H100 SXM GPU 也通过 PCIe连接到 CPU,因此 8 个 GPU 中的任何一个计算的数据都可以送到 CPU。
英伟达DGX 和 HGX 系统板上的所有 SXM 版GPU ,都通过 NVSwitch 芯片互联, GPU 之间交换数据采用NVLink,未阉割的A100是600GB/s、H100是900GB/s,就算阉割过的A800、H800也还有400GB/s。非常适合有海量数据的AI大模型训练。
DGX 和 HGX 又有什么区别呢?NVIDIA DGX 可理解为原厂整机,扩展性非常强,所提供的性能是任何其他服务器在其给定的外形尺寸中无法比拟的。将多个 NVIDIA DGX H800与 NVSwitch 系统连接起来,可以将多个(如32个、64个) DGX H800 扩展为 超级集群SuperPod,以实现超大模型训练。HGX属OEM整机。接着说PCIe版GPU。PCIe版只有成对的 GPU 通过 NVLink Bridge 连接。如下图所示。GPU 1 只直接连接到 GPU 2,但GPU 1 和 GPU 8 没有直接连接,因此只能通过 PCIe 通道进行数据通信,不得不利用 CPU 资源。最新的PCIe,也只有128GB/s。
最后说说各自的应用场景。大家都知道,大模型训练需要极高的算力,特别是那些参数动辄百亿、千亿级的大模型,对GPU间的互联带宽要求也极高。既然PCIe 的带宽远不如NVLink,那PCIe 还有存在的价值吗?其实单就GPU卡的算力而言,PCIe版GPU的计算性能和SXM版GPU并没区别,只是GPU互联带宽低点而以。对于大模型以外的应用,其实互联带宽的影响不大。下图是A100 PCIe和A100 SXM的参数对比。(表中 * 表示采用稀疏技术。是一种只存储非零元算的参数,可节省资源)
PCIe 版GPU特别适用于那些工作负荷较小、希望在GPU 数量方面获得最大灵活性的用户。比如,有的GPU服务器,只需要配4卡、甚至2卡GPU,用PCIe 版的灵活性就非常大,服务器整机可以做到1U 或2U,对IDC机架也要求不高。另外,在推理类应用部署中,我们常常将资源通过虚拟化“化整为零”,按1 :1 的比例配置 CPU 与 GPU 资源。当然PCIe版也更省电些,约300W/GPU;而SXM版在HGX架构中,可高达500W/GPU。