前言,GPU服务器的产品形态丰富,支持的卡数、卡的形态以及卡间通信速率也有不同,新手朋友在学习GPU服务器知识时经常会遇到芯片间互联技术的困惑,举个例子:为什么大规模集群训练都采用H100 SXM的八卡机?NVLink和标准PCIe差距有多大?CPU-CPU、CPU-GPU、GPU-GPU间的互联带宽是多少?有计算公式吗?今天一篇文章和大家讲清楚!
01 Intel的UPI、
AMD的xGMI的CPU互联技术解析
CPU在服务器产品的数量通常是1颗、2颗、4颗或者8颗,在数量超过1颗时都需要采用互联技术实现多颗CPU间的通信,目前主流的CPU品牌为Intel和AMD,他们实现CPU芯片互联的技术也不相同。
1、Intel的CPU互联技术QPI或UPI
UPI即Intel的Ultra Path Interconnect,从2017年发布第一代至强可扩展处理器skylake开始把QPI升级为了UPI,UPI拥有更高的通信速率、效率、更低的功耗,2路或者多路CPU之间通过2根或者更多UPI总线互联。
![]()
每条UPI总线总带宽=每秒传输次数(即UPI频率)×每次传输的有效数据(即16bit/8=2Byte)×双向,QPI或UPI的带宽计算举例:
● 一条9.6GT/s的QPI的单向带宽:9.6GT/s*16bit/8=19.2GB/s,
● 一条10.4GT/s的UPI的单向带宽:10.4GT/s*16bit/8=20.8GB/s,
● 一条11.2GT/s的UPI的单向带宽:11.2GT/s*16bit/8=22.4GB/s,
两颗icelake 处理器6348 三条UPI 的互联带宽为:
11.2GT/s*16bit/8*3*2=134.4GB/s,后面的3和2是指三条、双向。
2、Intel的多路CPU互联技术举例
我们知道Intel的服务器CPU通常支持双路、四路或八路扩展,以skylake为例图示如下:
![]()
1)双路互联支持2\3条UPI互联,当然和CPU和主板都相关,必须是都支持3条UPI的情况下才可以。
2)4S之所以有中间的虚线,是因为skylake这一代5系CPU只有2条UPI,互联时只能采用四颗CPU环状互联的方式,6系才有3条。
3)8S就比较简单了,必须支持3UPI。
3、AMD的CPU互联技术xGMI
![]()
虽然AMD给CPU互联链路起了个名字叫xGMI,但是并不是什么新的技术,而是基于标准的PCIe做的,每条xGMI对应16条PCIe的lane,是要占据CPU的PCIe资源的,通常xGMI是3条或者4条;如上图是AMD milan的GPU直通平台(CPU-GPU间无PCIe SW),因为中间通过三条xGMI,整机可提供128x2-(16x2x3)=160条PCIE lane,如果满配8张GPU占用了16x8=128条PCIe通道后,还剩32条PCIe Lane给其他IO部件使用(看懂的同学,帮忙给点个赞)。
服务器内部CPU到GPU间通信目前最主流的就是PCIe技术,也是最通用最主流的各类IO部件的互联技术。目前主流的PCIe4.0和5.0。
![]()
PCIe不同版本以及带宽情况如下:
![]()
1)传输速率的单位GT/s即Giga transaction per second (千兆传输/秒),描述的是物理层通信协议的速率,即每一秒内传输的次数。
2)举例:PCIe3.0每条通道(Lane)是8GT/s,有效数据占比为128b/130b,每条Lane是8Gx(128/130)/8=0.9846GB/s,根据Lane的数量相乘就可以了(这里都是说的单向)。
3)举例:以PCIE 5.0为例,每条Lane是32GT/s,换算有效的数据带宽后是32G8x(128/130)/8=3.938GB/s≈4GB/s,PCIe版本的H800是16条Lane,4x16=64GB/s单向,双向就是128GB/s。
03 GPU-GPU的典型互联方案
NVLink等技术解析
Nvlink是英伟达私有的芯片互联技术,通常用于GPU之间或者GPU到CPU,Nv Switch是基于Nvlink技术的芯片或者类似交换机的设备,在主机内部NvSwitch是芯片,跨节点互联就是搭载Nv switch芯片的独立网络设备。历代Nvlink的版本和速率变化如下:
![]()
1、Nvlink和PCIe两种互联技术对比:
Nvidia GPU互联技术最新的是NVLink 5.0。与前代4.0相比通道数目不变,速率翻倍至1.8TB/s,PCIe目前最新的版本是Gen5,作为计算机当中最通用的互联技术,和Nvlink相比差距有多大呢?
![]()
PCIe 5.0x16的双向互联带宽计算分析:
1、每条链路单向32Gb/s,换算成大B需要除以8,为4GB/s
2、双向是2倍关系,8GB/s
3、总带宽:16x8=128GB/s
与最新的NVLink5.0相比,来到了约14倍的差距;
2024年,Blackwell架构的B200正式发布,NVLink和NVSwitch芯片分别来到5.0和4.0的版本,单条链路速率翻倍来到单向50GB/s,数量还是18条,GPU间的互联带宽翻倍至1.8TB/s,8个GPU对应2个NVswitch芯片,每个NvSwitch芯片拥有72个NVLink5.0接口,每个GPU用9条NVLink和2个NVSwitch芯片互联,如下图所示:
![]()
2、包括Nvlink在内,AI芯片互联技术大致有6种类型,简单总结如下:
![]()
3、AMD的Infinity Fabric
八张AMD的MI300X OAM GPU卡通过8条PCIe 5.0x16的链路实现全互联。如下图所示卡到多卡是896GB/s,但是2张卡间依然是最高128GB/s
![]()
4、NVLink的挑战者Ualink概述
24年4月包括 AMD、英特尔、惠普企业(HPE)、博通以及思科、微软、谷歌以及 Meta等一众科技巨成立了新的行业组织 UALink(Ultra Accelerator Link),目的是通过开放标准对 Nvidia 进行反击,目前还是起步阶段。个人的总结,
![]()
1)UALink 1.0 采用AMD Infinity Fabric实现单节点内GPU互联,跨节点的Scale-UP扩展网络基于以太网开发。
2)使用时需要配置专门的Ultra Ethernet NIC和交换机,UALink 1.0设计上就支持多达 1024个AI芯片互联。
3)目前还处于探索阶段,距离大规模的普及至少还需要3-5年时间。
来源:IT技术分享-老张