今天干脆单独开一篇,文看伟达讲讲NVLink。懂英的
NVLink的文看伟达诞生背景上世纪80-90年代,计算机技术高速发展 ,懂英的逐渐形成了英特尔和微软为代表的文看伟达“Wintel”软硬件体系。
在硬件上 ,懂英的基本上都是文看伟达围绕英特尔的x86 CPU进行构建。为了能让计算机内部能够更好地传输数据,懂英的英特尔牵头设计了PCIe总线 。香港云服务器文看伟达
懂电脑的懂英的同学,应该对PCIe非常熟悉 。文看伟达我们的懂英的显卡,还有早期的文看伟达网卡和声卡等 ,都是懂英的插在计算机主板PCIe插槽上工作的。
图片
后来 ,文看伟达随着时间的推移 ,亿华云计算机CPU 、内存、显卡的性能越来越强大,相互之间传输的数据量也越来越多 ,PCIe的能力开始出现瓶颈(尽管这个技术也在迭代),传输速率和时延逐渐无法满足需求。
表现最突出的,是显卡(GPU)的通信需求。
本世纪初 ,游戏产业发展迅速 ,免费模板显卡的升级迭代也很快。当时 ,为了让游戏体验更加流畅,甚至出现了同时安装2块显卡的情况。
AMD(2006年收购了ATI)那边 ,把这种多显卡技术叫做Crossfire(交火)。
而英伟达这边 ,则叫做SLI(Scalable Link Interface ,可升级连接界面,也叫“速力” ,2007年推出)。
除了个人消费领域之外,科研领域对显卡性能的需求也不断增加 。模板下载
科学家们使用显卡 ,不是为了玩游戏,而是为了3D建模 ,以及执行一些超算任务。
英伟达在不断提升显卡性能的同时,发现PCIe协议严重限制了显卡的对外数据传输。于是,他们开始考虑自创一套体系 ,用于取代PCIe协议。
2014年,英伟达基于SLI技术,云计算推出了用于GPU高速互连的新协议——NVLink(Nvidia Link) 。
图片
英伟达NVLink技术的早期合作对象 ,是IBM。
为什么不是英特尔或AMD呢?因为PCIe是英特尔牵头搞的,不太想搞NVLink。AMD算是英伟达竞争对手,也不合适。
当时,IBM是服务器租用超算领域的巨头 ,而且在技术参数上和英伟达非常匹配,所以双方进行了合作 。
英伟达在发布NVLink时指出:
GPU显存的速度快但容量小,CPU内存的速度慢但容量大。因为内存系统的差异,加速的计算应用一般先把数据从网络或磁盘移至CPU内存,然后再复制到GPU显存,数据才可以被GPU处理 。
在NVLink技术出现之前,GPU需要通过PCIe接口连接至CPU,但PCIe接口太落后,限制了GPU存取CPU系统内存的能力 ,对比CPU内存系统要慢4-5倍。
图片
有了NVLink之后,NVLink接口可以和一般CPU内存系统的带宽相匹配 ,让GPU以全带宽的速度存取CPU内存,解决了CPU和GPU之间的互联带宽问题,从而大幅提升系统性能 。
IBM POWER CPU的带宽高于x86 CPU ,PCIe瓶颈效应更为明显,所以,他们才非常积极想要和英伟达合作。
在GTC2014上,英伟达CEO黄仁勋对NVLink赞不绝口。他表示:“NVLink让 GPU与CPU之间共享数据的速度快了5-12倍。这不仅是全球首例高速GPU互联技术,也为百亿亿次级计算铺平了道路。”
GTC2014
2014年年底,美国能源部宣布将由IBM和英伟达共同建造两台新的旗舰超级计算机 ,分别是橡树岭国家实验室的Summit系统和劳伦斯利弗莫尔国家实验室的Sierra系统,引发行业的高度关注。
而NVLink,就是其中的关键技术 ,用于IBM POWER9 CPU与英伟达GPGPU(基于Volta架构)的连接。根据官方数据,建成的超级计算机算力高达100Pflops 。
除了超算之外,在智算领域,NVLink也迎来了机遇 。
2012年,AI大佬杰弗里·辛顿带着两个徒弟搞出了深度卷积神经网络AlexNet,赢得ImageNet图像识别大赛 ,彻底点爆了用GPU进行AI计算这个路线 ,从而打开了新世界的大门 。
在超算和智算双重浪潮的助推下,英伟达的GPU、NVLink 、CUDA等技术,开始走向了全面爆发。
NVLink的技术演进NVLink能够实现更高的速率 、更低的时延 ,各方面性能都明显强于PCle。
接下来 ,我们看看它到底是个什么样的连接方式。
英伟达GTC2014发布的是NVLink的首个版本——NVLink 1.0。在2016年(GTC2016)发布的P100芯片上,就搭载了NVLink 1.0技术。
图片
NVLink是一种基于高速差分信号线的串行通信技术 。
每块P100 GPU集成了4条NVLink 1.0链路 。每条NVLink 1.0链路由8对差分线(8个通道)组成 。
NVLink链路和差分线
每对差分线(每个通道)的双向带宽是5GB/s 。所以 ,每条NVLink 1.0链路的双向带宽是40GB/s。
因此,每块P100 GPU的总双向带宽可达160GB/s,是PCIe3 x16(总带宽大约32GB/s)的五倍 。
NVLink还支持内存一致性和直接内存访问(DMA),进一步提高了数据传输效率和计算性能。
迄今为止,英伟达陆续推出了NVLink 1.0~5.0 ,参数我就不一一介绍了 ,可以看下面的表格 :
图片
图片
NVLink1-4代际(图片来自英伟达官网)
再来看看拓扑结构 。
最简单的两张卡直接互连 ,就是杠铃拓扑(barbell topology)。双PCIe GPU之间,可以通过NVLink Bridge设备实现。
杠铃拓扑
NVLink Bridge
四张GPU卡的话 ,可以使用十字交叉方形拓扑(crisscrossed square topology)。这是一种Full Mesh的网状交叉互联结构。
十字交叉方形拓扑
8张GPU卡 ,就稍微有点复杂了。
在HGX-1系统中实现了一种 “hybrid cube mesh” 8 GPU互联结构。如下图所示 :
图片
每一块GPU都巧妙利用了其6条NVLink,与其他4块GPU相连。8块GPU以有限的NVLink数量,实现了整体系统的最佳性能。
这个图看上去有点奇怪 。实际上,如果把它以立体的方式呈现,就很清晰了:
图片
就是串联的架构 。
当时英伟达发布的超级计算机DGX-1,就是采用了上面这个架构 。
2016年,英伟达CEO黄仁勋给刚刚成立的OpenAI公司赠送了世界上第一台DGX-1超级计算机 ,价值129000美元。
图片
这台DGX-1拥有2颗Xeon处理器和8颗Tesla P100 GPU ,整机拥有170TFLOPs的半精度(FP16)峰值性能 ,还配备了512GB系统内存和128GB GPU内存 。
这台机器给OpenAI的早期起步提供了极大帮助,大幅缩短了他们的大模型训练周期 。
Hybrid Cube Mesh架构实现了单机内的8卡互连,但也存在一些不足 :它属于一种串行连接 ,8块GPU之间并非两两互联,每一块GPU只与其他4块GPU相连,且存在带宽不对等的情况。
于是,2018年,为了实现8颗GPU之间的all-to-all互连 ,英伟达发布了NVSwitch 1.0 。
图片
NVSwitch,说白了就是“交换芯片”。它拥有18个端口,每个端口的带宽是50GB/s,双向总带宽900GB/s。用6个NVSWitch ,可以实现8颗V100的all-to-all连接。
引入NVSwitch的DGX-2 ,相比此前的DGX-1,提升了2.4倍的性能 。
到NVLink 4.0的时候,DGX的内部拓扑结构增加了NVSwitch对所有GPU的全向直连 ,DGX内部的互联结构得到简化。
图片
2022年,英伟达将原本位于计算机内部的NVSwitch芯片独立出来 ,变成了NVLink交换机。这意味着 ,一个计算节点已经不再仅限于1台服务器,而是可以由多台服务器和网络设备共同组成。
目前 ,NVLink Switch已经发展到4.0版本。
图片
2022年 ,NVLink 4.0发布时,英伟达把既有的NVLink定义为NVLink-network,然后又专门推出了NVLink-C2C(Chip to Chip,芯片到芯片之间的连接) 。
NVLink-C2C是板级互连技术。它能够在单个封装中 ,将两个处理器连接在一起,变成一块超级芯片(Superchip)。
例如 ,英伟达的GH200,就是基于NVLink-C2C,将Grace CPU和Hopper GPU连接成Grace Hopper超级芯片 。
Grace Hopper平台的架构
目前最新的NVLink代际,是NVLink 5.0,由英伟达在2024年与Blackwell架构一同推出。单GPU可支持多达18个NVLink链接接 ,总带宽达到1800GB/s,是NVLink 4.0的2倍 ,是PCIe 5带宽的14倍以上 。
具体参数前面表格有,小枣君就不多说了 。
NVL72的整体架构接下来,我们重点看看基于NVLink 5.0打造的DGX GB200 NVL72超节点 。这个超节点的架构非常有代表性。
图片
DGX GB200 NVL72,包含了18个GB200 Compute Tray(计算托架) ,以及9个NVLink-network Switch Tray(网络交换托架)。如下图所示 :
NVL72机柜
每个Compute Tray包括2颗GB200超级芯片 。每颗GB200超级芯片包括1个Grace CPU、2个B200 GPU ,基于NVLink-C2C技术。
所以,整个机架就包括了36个Grace CPU(18×2),72个B200 GPU(18×2×2) 。
图片
8个DGX GB200 NVL72,又可以组成一个576个GPU的SuperPod超节点 ,总带宽超过1PB/s,高速内存高达240TB。
图片
NVL72机架的9个Switch Tray(网络交换托架),就是9台NVLink Switch交换机 。
每台NVLink Switch交换机包括2颗NVLink Switch4芯片,交换带宽为28.8Tb/s × 2。
NVLink Switch
NVL72采用高速铜连接架构设计。
在机架的背框中,有4组NVLink卡盒(NVLink Cartridge),也就是安费诺Paladin HD 224G连接器(每个连接器有72个差分对),负责计算托架 、网络托架之间的数据传输 。
在这些连接器中,容纳了5000多根节能同轴铜缆(NVLink Cables,带有内置信号放大器),可以提供130TB/s的全对全总带宽和260TB/s的集合通信(AllReduce)带宽 。
图片
功耗方面,B200单颗芯片的功耗1000W ,1颗Grace CPU和2颗B200组成的超级芯片GB200 ,功耗达到了2700W 。整个DGX GB200 NVL72机架,功耗大约是120kW(重量大约是1.3吨)。
为了确保稳定的供电,NVL72采用了新的增强型大容量母线排设计。升级后的母线排宽度与现有Open Rack Version 3(ORV3)标准相同,但深度更大 ,显著提高了其电流承载能力 。新设计支持高达1400安培的电流流动 ,是现行标准的2倍 。
NVL72是液冷机架式系统 ,采用了增强型免工具安装(盲配)液冷分配管(歧管)设计 ,以及新型可自动对准的免工具安装(浮动盲配)托盘连接 。不仅可以提供120kW冷却能力 ,还极大地简化了安装和运维。
对外连接方面,NVL72配置了CX7或CX8网卡,通过400G或800G的IB网络与外部进行Scale Out互联,对应每台compute tray(计算托架)拥有2个OSFP 800G或1.6T端口 。
图片
值得一提的是 ,NVL72还包括BlueField-3数据处理单元(DPU) ,可以实现云网络加速、可组合存储 、零信任安全和GPU计算弹性。
总而言之,GB200 NVL72确实是一个性能猛兽,也是打造万卡 、十万卡GPU集群的利器。
凭借自身强大的算力,NVL72在推出市场后,很快引发了抢购热潮。微软 、Meta等科技巨头 ,都进行了疯狂采购。
据悉,GB200 NVL72服务器的平均单价约为300万美元(约合2139万元人民币) ,较NVL36机柜的平均售价高出66% 。英伟达又又又赚得盆满钵满了。
结语好啦,以上就是关于英伟达NVLink的介绍 。
目前,AI算力建设浪潮仍在持续。
除了英伟达之外,包括AMD、华为 、腾讯、阿里等在内的很多公司都在研究和推进自己的节点内部互连(Scale Up)技术标准 ,也在打造更大规模的GPU集群。