各位小伙伴们,假期过得好吗?
这个假期,GPU很火热,各大厂商都在抢占GPU资源以便在AI时代抢占发展先机。
今天我们就聊聊GPU之前是如何进行互联网的。
GPU最早出现是单卡使用的,但是随着游戏、图形应用的发展,以及AI、大模型等新兴应用的助推,多个GPU之间的互联技术得到了快速迭代和发展。
▌GPU早期互联技术
可以说,从GPU出现后,电脑发烧友和游戏爱好者就一直寻找进一步提高GPU性能的方式。
在单个GPU性能有限的情况下,将两个或多个GPU连接起来渐渐成为提升系统GPU性能的主流方法。
最早的GPU互联技术是由 3DFx Interactive 开发的,英文名字叫SLI,翻译过来为 " 可扩展的链接接口 "的技术。
但是当时这项技术并没有引起太大轰动,这家厂商也由于经营不善在2000年宣布破产了。但其还有很多有价值的技术,于是被NVIDIA公司收购了,并获得了这项多GPU互联的技术。
在2004年,NVIDIA首次推出了SLI技术版本,允许两个GeForce 6800 Ultra GPU一起工作,以增强游戏时的图形性能。因此,SLI技术迅速在游戏玩家和爱好者中流行起来。
SLI是第一个连接多个GPU的解决方案。但是与所有技术一样,SLI也有各种优点和局限性。SLI配置必须选择相同型号的兼容GPU。同时还需要分配一个单独的PSU来满足多个GPU的协调要求,这样就导致GPU之间的通信延迟较高,且GPU之间的数据共享缺乏灵活性。
当然,作为NVIDIA GPU市场上多年的老对手,AMD也推出了CrossFire这个技术来参与竞争。
与SLI技术类似,使用CrossFire技术时,用户可选择使用两个或更多显卡进行渲染,从而增加帧数和提高游戏运行效率。但CrossFire技术的一大优点是用户可以使用不同型号的AMD显卡,从而节省成本。
但CrossFire也有其自身的优势和挑战,CrossFire经常因其软件堆栈而受到批评,一些用户发现该软件堆栈不如NVIDIA SLI可靠且配置更复杂。
SLI和CrossFire等技术专注于连接多个独立GPU,但还有另一种不太常见或者可以说是奇葩的多 GPU配置方法:双GPU卡。
双GPU卡具有多种优势,他们通过将两个GPU压缩到一个卡槽中来节省空间,这使得它们对小型PC很有吸引力。同时他们还无需将单独的卡与外部连接器连接起来,从而简化了设置。
然而,这些双GPU卡散热是一个重大问题,可以说每一个卡都是一个"小火炉"。通常这种配置方式需要先进的冷却解决方案。同时功耗也很高,需要强大的电源来提供稳定的电流。
由于其高成本和相关的技术挑战,双GPU卡经常被视为鸡肋产品。
尽管存在这些差异,但这几种技术都致力于实现相同的目标:增强游戏和消费者图形体验。它们在处理更高级、数据密集型任务方面的局限性最终将为 NVLink等下一代解决方案铺平道路。
▌NVlink出现的原因和背景
长期以来,冯·诺依曼架构面临的一个核心挑战是CPU的计算速度与内存访问速度之间的不匹配,尤其是与存储设备的速度相比更是天壤之别。这就是业界著名的“内存墙”,其不均衡的发展速度对日益增长的高性能计算形成了极大制约,成为训练大规模AI模型的瓶颈。
与此同时,随着高性能存储技术的进步,计算机组件间通信的带宽再次成为限制性能提升的关键因素。从“Pascal”P100 GPU一代到“Blackwell”B100 GPU一代,八年间GPU的性能提升了1053倍。
GPU的快速增长超出了所有人的预料,它几乎彻底颠覆了CPU在计算机系统中的地位,而传统的根据CPU为核心设计的互联通信方式在GPU高速增长的情况下开始慢慢成为了阻碍,原有的通信技术已经成为效率阻碍。
在此趋势下,GPU作为AI时代的核心处理器,单卡GPU算力和显存有限,无法满足训练需求。为适应算力需求,需要联合大量GPU甚至多台服务器协同工作,分布式训练诉求快速提升。面对这种情况,那么GPU就要在原有的计算机里"开路"了。
彼时,为带宽不足而发愁的英伟达,与当时坐拥更高带宽POWER CPU的IBM一拍而合,合作开发了第一代NVLink。于是,英伟达提出了NVLink总线协议。
▌NVLink有何独特优势?
NVLink是一种英伟达提出的高速GPU互联协议,用于连接多个GPU之间或连接GPU与其他设备(如CPU、内存等)之间的通信。它允许GPU之间以点对点方式进行通信,具有比传统的 PCIe 总线更高的带宽和更低的延迟,为多GPU系统提供更高的性能和效率。
这项技术不只是对SLI技术的升级,而且是对GPU如何互连的根本性重新思考。对比传统PCIe总线协议,NVLink做出三方面的较大改变:
NVLink与众不同的关键功能之一是它支持网状拓扑的能力。与旧技术的菊花链或中心辐射型拓扑相比,网格设置允许GPU之间实现更通用且数量更多的连接。这在数据中心和高性能计算应用程序中特别有用,在这些应用程序中,复杂的数据路由是常态。
统一内存是NVLink的另一个特点。这允许GPU共享公共内存池,从而实现更高效的数据共享并减少在GPU之间复制数据的需要。这对于机器学习和大数据分析等应用程序来说是一个巨大的推动,在这些应用程序中,大型数据集通常超过单个GPU的内存容量。
NVLink还改善了延迟,这是任何高性能计算设置中的一个关键因素。较低的延迟可确保GPU之间更快的数据传输和同步,从而实现更高效的并行计算。这是通过NVLink的直接内存访问 (DMA) 功能实现的,允许GPU直接读写彼此的内存,而不需要CPU的参与。
英伟达官方表示,NVLink是全球首创的高速GPU互连技术。作为一种总线及其通信协议,NVLink采用点对点结构、串列传输,用于连接GPU与支持NVLink技术的CPU,在内存墙无法突破的情况下,最大化提升CPU和GPU之间通信的效率,也可用于多个英伟达GPU之间的高带宽互连。使用NVLink连接两张NVIDIA GPU,即可弹性调整记忆体与效能,满足专业视觉运算最高工作负载的需求。
▌NVLink的发展史
自2014年开始,英伟达就在其GPU中引入了NVLink互联技术。
NVLink 1.0(2014年)
2014年,NVLink 1.0在P100 GPU芯片之间实现,两个GPU之间有四个NVLink,每个链路由八个通道组成,每个通道的速度为20Gb/s,系统整体双向带宽为160GB/s,是PCIe3 x16的五倍,这使得数据在CPU内存与GPU显存之间的移动速度得到了大幅提升,从而让GPU加速的应用能够大幅提升运行速度。
伴随着P100、V100等计算卡的推出,NVLink也迎来了自己的高速发展。
NVLink 2.0(2017年)
2017年,英伟达推出了第二代NVLink,两个V100 GPU芯片之间通过六个NVLink 2.0连接,每个链路也是由八个通道组成,每个通道的速度提升至25Gb/s,从而实现300GB/s的双向系统带宽,几乎是NVLink1.0的两倍。
同时,为了实现八个GPU之间的完全互连,解决GPU之间通讯不均衡问题,英伟达还引入了NVSwitch技术。
NVSwitch出现(2018年)
NVSwitch是英伟达在2018年发布的一项技术,旨在解决单服务器中多个GPU之间的全连接问题。当时,NVSwitch允许单个服务器节点中多达16个GPU实现全互联,这意味着每个GPU都可以与其他GPU直接通信,无需通过CPU或其他中介。
NVSwitch1.0有18个端口,每个端口的带宽为50GB/s,总带宽为900GB/s。每个NVSwitch保留两个用于连接CPU的端口。通过使用6个NVSwitch,可以在8个GPU V100芯片之间建立一个全连接的网络。
NVLink 3.0(2020年)
2020年,推出NVLink 3.0技术。它通过12个NVLink连接连接两个GPU A100芯片,每个链路由四个通道组成。每个通道以50Gb/s的速度运行,从而产生600GB/s的双向系统带宽,是NVLink2.0的两倍。随着NVLink数量的增加,NVSwitch上的端口数量也增加到36个,每个端口的运行速度为50GB/s。
NVLink 4.0(2022年)
2022年,NVLink技术升级到第四代,允许两个GPU H100芯片通过18条NVLink链路互连。每个链路由2个通道组成,每个通道支持100Gb/s(PAM4)的速度,从而使双向总带宽增加到900GB/s。NVSwitch也升级到了第三代,每个NVSwitch支持64个端口,每个端口的运行速度为 50GB/s。
值得一提的是,在第四代NVLink发布时,英伟达正式将其称为NVLink-C2C ,此时NVLink已经升级为板级互连技术,它能够在单个封装中将两个处理器连接成一块超级芯片。
NVLink 5.0(2024年)
2024年,随着英伟达全新Blackwell架构的发布,NVLink 5.0也随之而来。
NVLink 5.0以100GB/s的速度在处理器之间移动数据。每个GPU有18个NVLink连接,Blackwell GPU将为其他GPU或Hopper CPU提供每秒1.8TB的总带宽,这是NVLink 4.0带宽的两倍,是行业标准PCIe Gen5总线带宽的14倍。NVSwitch也升级到了第四代,每个NVSwitch支持144个NVLink 端口,无阻塞交换容量为14.4TB/s。
迄今为止,英伟达陆续推出了 NVLink 1.0~5.0,参数我就不一一介绍了,可以看下面的表格:
从上图可以看到,每一代NVLink的更新,其每个GPU的互联带宽都是在不断的提升,其中NVLink之间能够互联的GPU数,也从第一代的4路到第四代/第五代的18路。每个NVLink链路的速度也由第一代的20Gb/s提升至目前的1800Gb/s。
此外,尽管拥有极高的带宽,NVLink却在每比特数据的传输上比PCIe节能得多。
回顾NVLink的发展历程,自2016年随Pascal架构问世以来,它便作为PCI-Express的替代方案不断进化。经过多年的技术积累与带宽提升,NVLink已成为NVIDIA不可或缺的重要技术,支撑着72GPU机架等大规模系统的构建。
随着下一代AI算法等先进计算的需求不断增长,可以期待NVLink的功能进一步增强。无论是带宽的增加还是促进GPU之间更好合作的新功能,NVLink或其后继者无疑仍将是满足未来计算需求的核心。
2025年6月份,英伟达发布全新芯片NVIDIA NVLink Fusion等新技术和产品,并首次向第三方开放NVLink IP授权,允许非英伟达CPU、ASIC或加速器与英伟达GPU深度整合,宣告从单一硬件供应商向开放生态平台转型。
NVLink Fusion包含两项核心技术。其一,半定制CPU技术允许非NVIDIA CPU通过NVLink C2C与NVIDIA GPU相连结。这一技术并非新晋亮相,早在2022年GTC上,NVIDIA便已开放了NVLink C2C用于定制芯片的集成。其二,更为引人注目的是NVLink 5 Chiplet的集成。这一创新举措使得第三方加速器能够借助NVIDIA的Chiplet技术获得NVLink 5的功能。
黄仁勋表示:“一场翻天覆地的变革正在发生:数据中心架构数十年来首度必须从根本上彻底改变 —— AI 正在融入每个计算平台。NVLink Fusion 将 NVIDIA AI 平台和丰富的生态系统对外开放,助力合作伙伴构建专用 AI 基础设施。”
▌DGX和HGX 傻傻分不清楚
当然,每一个配件厂商都有一个卖硬件盒子的“想法”,Nvidia为了能获得足够高的利润,也想以一个硬件系统的模式,将GPU放在一个Box里卖给客户。
2016年,英伟达CEO黄仁勋给刚刚成立的OpenAI公司赠送了世界上第一台DGX-1超级计算机,价值129000美元。
Nvidia DGX 可整合高达 8 个 Tensor Core GPU 及配套的 AI 软件,致力于提升计算速度,推动 AI 应用的创新发展。该平台的核心是一个机架式机箱,内置 4 或 8 个通过 NVLink 技术互联的 GPU、高性能 x86 CPU 和 Nvidia 高速网络硬件。单套 DGX B200 系统就能提供高达 72 petaFLOPS 的训练性能和 144 petaFLOPS 的推理性能。
这台机器给OpenAI的早期起步提供了极大帮助,大幅缩短了他们的大模型训练周期。
DGX并不适合世界上那种比较大大的互联网采购商:这玩意儿其实是一个单机,严格来讲,小型机,缺乏弹性,它卖得并不那么好,当然作为旗舰产品撑场子是绝对合格。
对于追求定制化超级计算解决方案的原始设备制造商(OEM)来说,Nvidia HGX 平台提供了与基于 Hopper 和 Blackwell 架构的 DGX 系统相媲美的高性能,还允许根据自身需求进行深度 OEM 定制。
客户可以根据自己的特定需求,自由选择和调整 CPU、RAM、存储和网络配置,从而打造出真正符合自身业务需求的超级计算机。实际上,Nvidia HGX 是构成 Nvidia DGX 系统的基础组件,同时它也遵循 Nvidia 设定的严格标准,确保了性能和质量。
Nvidia HGX 平台提供了 x4 和 x8 GPU 配置选项,而最新的基于 Blackwell 架构的基板则仅支持 x8 配置。HGX B200 系统的性能可高达 144 petaFLOPS,这不仅极大地增强了企业的 AI 和 HPC 计算能力,也为 OEM 提供了打造可扩展解决方案的可能性。
Nvidia DGX 和 HGX 平台各自代表了企业级 AI 硬件解决方案的两个不同方面:简易性和灵活性。
Nvidia DGX:提供了一站式的解决方案,强调的是简易性和便捷性。DGX 系统为需要快速部署和高效运行 AI 应用的大型企业设计。通过整合的硬件和软件,用户可以轻松地搭建起强大的 AI 计算环境。此外,通过 DGX SuperPOD 等集群解决方案,企业能够构建庞大的数据中心,以满足大规模的计算需求。
Nvidia HGX:与 DGX 的集成性相比,HGX 平台更注重灵活性和定制化。它为 OEM 厂商提供了一个高度可定制的硬件平台,使他们能够根据客户的特定需求来调整和优化系统配置。这种模块化的方法为不同行业和应用场景提供了更多的选择和可能性。
这就决定了DGX只能整机在Nvidia购买,而HGX是可以卖独立器件再OEM给浪潮、Dell制造组装的(后者是大型互联网客户的典型采购模式)。
▌NVIDIA GB300 NVL72 有何特殊之处!
目前,戴尔尔科技集团与 CoreWeave 紧密合作,宣布业界首款 NVIDIA GB300 NVL72 系统正式出货。此前,戴尔已率先成为首家出货 NVIDIA GB200 的供应商,此次里程碑式的合作进一步巩固了其在 AI 基础架构领域的领先地位。
接下来,我们重点看看基于NVLink 5.0打造的NVIDIA GB300 NVL72超节点。这个超节点的架构非常有代表性。
这个系统将72个NVIDIA Blackwell Ultra GPU和36个基于Arm的NVIDIA Grace CPU整合到一个平台上,并针对测试时间扩展推理进行了优化,配备了升级版Blackwell芯片,其推理性能提升了1.5倍,HBM内存容量增加了1.5倍,网络连接能力翻倍,带来全新 AI 推理性能。
同时,与Hopper相比,GB300 NVL72用户响应速度(每用户TPS)提升10倍,吞吐量(每兆瓦TPS)提升5倍。搭配Quantum-X800 InfiniBand 或 Spectrum-X 以太网等技术进步共同作用,使英伟达GB300 AI工厂整体产出实现50倍的显著提升,即将推理模型输出效率提升5000%。
简单来说,它就像是一个超级智能的“数据中心”,能够同时处理海量的数据和复杂的计算任务。而且,这个系统还采用了液冷技术,就像给发动机装上了高效的“散热器”,在保证强大性能的同时,还能有效降低能耗,实现绿色计算。
为了让这些强大的 GPU 之间能够高效协作,NVIDIA GB300 NVL72 系统采用了第五代 NVIDIA NVLink 技术。这项技术就像是连接各个 GPU 的“神经网络”,提供了高达 130TB/s 的聚合带宽。
戴尔的集成机架解决方案让 NVIDIA GB300 NVL72 系统能够快速部署到企业的数据中心中,并无缝集成到现有的生产环境中。企业不需要花费大量的时间和精力去重新搭建复杂的 IT 基础设施,而是可以直接利用这个强大的“超级大脑”来加速自己的 AI 项目。
▌其它相关知识:
什么是NVSwitch芯片?
NVSwitch芯片是一种物理芯片,类似于交换机ASIC,可通过高速的NVLink接囗连接多个GPU,提高服务器内的通信和带宽。第三代NVIDIA NvSwitch可支持以900 GBs的速率互连每对GPU。
NVSwiich3芯片具有64个NVLink4端口,提供总共12.8 Tbps的单向带宽或3.2 TB/s的双向带宽。NVSwich3芯片的独特之处在于其集成了SHARP功能,对多个GPU单元的计算结用进行聚合和更新,减少网络数据包并提高计算性能。
什么是NVLink交换机?
2022年,英伟达(NVIDIA)将NVSwich芯片独立出来,并制作成NVLnk交换机,用于连接主机之间的GPU设备。它采用了1U尺寸设计,具有32个0SFP端口;每个OSFP端口包含8个112GPAM4通道,每个交换机内置2个NVSwilch3芯片。
NVLink网络
NVSwitch物理交换机持多个NVLinK GPU服务器连接成一个大型Fabric网络,即NVLink网络,解决了GPU之间的高速涌信带宽和效率问题。每个服务器都有独立的地址空间,为NVLInk网络中的GPU提供数据传输、隔商和安全保护。当系统启动时,NVLInK网络通过软件API自动建立连接,并可以在运行过程中更改地址。
NVLink服务器
NVLinK服务器采用NVLInK和NVSwich技术连接GPU,通常可在英伟达(NVIDIA)的DGX系列服务器或具有类似架构的OEM HGX服务器中找到。这些服务器利用NVLInk技术,提供出色的GPU互联性、可扩展性和高性能计算只能力。我们上面提到的DGX系统,就是NVLink服务器构建的AI平台。
NVLink服务器在科学计算、人工智能、大数据处理和数据中心等关键领域已经变得不可或缺,通过提供强大的计算能力和高效的数据处理,NVLink服务器不仅满足了这些领域的严格要求,还推动了这些领域的进步和创新。