NVLink主要解决的是GPU之间高速通信的问题,而普通网络主要负责服务器、存储设备以及不同计算节点之间的数据通信。两者都在传数据,但设计目标、连接方式和性能差异都很大。
首先看NVLink。NVLink是英伟达针对GPU高速互联设计的专用互联技术,核心目的是让多张GPU之间能够快速交换数据。在AI模型训练、推理和高性能计算中,一项任务往往会同时使用多张GPU,这些GPU需要频繁交换模型参数、激活值、梯度等数据。如果GPU之间通信速度不够,就会影响整体计算效率。
以H100为例,采用NVLink后,多张GPU可以建立高速互联,NVLink 4.0的GPU间互联带宽最高可达到900GB/s。这里说的是GPU之间的高速互联能力,并不是普通以太网网卡的带宽。
而普通网络通常指以太网、InfiniBand等网络体系,数据一般需要经过网卡、交换机,再到另一台服务器。比如一台GPU服务器需要访问另一台服务器上的存储或者GPU集群,就需要通过网络设备完成数据传输。
两者最大的区别,首先就是连接对象不同。NVLink主要用于GPU与GPU之间,尤其适合服务器内部多GPU协同计算;普通网络则主要连接服务器、交换机、存储设备以及不同机房的数据中心。
第二个区别是通信路径不同。NVLink可以让GPU之间直接进行高速数据交换,通信链路距离短,协议和硬件设计也针对GPU计算进行了优化。普通网络则需要经过网卡和交换机,网络设备还需要处理路由、转发、拥塞控制等工作。
第三个区别是使用场景不同。比如一台8卡GPU服务器内部,GPU之间进行模型训练时,需要大量进行通信,这时候NVLink非常重要。而8卡服务器和另一台8卡服务器之间进行分布式训练,就需要依靠高速网络,例如InfiniBand或高速以太网来完成跨服务器通信。
所以,NVLink并不是普通网络的替代品。在AI算力中心里,两者通常是配合使用的:服务器内部主要依靠NVLink等GPU互联技术,服务器之间则依靠高速网络进行通信。当GPU数量从单机扩展到几十台、几百台甚至更大规模集群时,GPU互联和网络架构就需要同时进行设计,否则单纯增加GPU数量,并不一定能够获得对应的计算性能提升。