前言,随着智算中心建设的持续进行,各类GPU产品也跟着持续火爆,很多与GPU互联及接口相关的“名词术语”逐渐被大家熟知,比如有朋友在我公众号评论区咨询GPU服务器里OAM接口或模组和PCIe和SXM有何区别,怎么才能快速记住并理解GPU的各类“名词术语”呢?今天我们展开聊聊!
一、了解GPU的“接口”和“互联技术”
以英伟达主流的GPU H100为例,其接口就2种分别是SXM和PCIe;为什么很多人习惯把SXM GPU称为NVlink GPU,把SXM接口的服务器称为NVlink整机呢?我们结合下面图片进行分析:
1、以英伟达A800为例,看GPU的接口与互联技术的描述
上面这个图片来自于英伟达官方的培训PPT,从里面的信息可以得出:
①、A800这个型号分为了PCIe接口的版本和SXM接口的版本。
②、互联带宽的介绍部分也有两种:NvLink对应的是400GB/s,PCIe 4.0对应的是64GB/s,这里都是指的是双向带宽,PCIe的互联技术或者链路是基于4.0x16;
2、个人总结如下:
①、PCIe是服务器系统里最核心、最通用的互联技术,其标准的接口也称为标准PCIe接口(插槽),简称PCIe接口,是服务器实现IO扩展的关键,PCIe接口除了用于插PCIe的GPU卡外,也可以广泛用于Raid卡、网卡、HBA卡等。
②、NVLink的出现的原因之一,是因为PCIe这类通用的互联技术速率太低了(目前最新的服务器平台PCIe 5.0x16接口的双向互联带宽理论仅为128GB/s),无法满足AI大模型训练时GPU到GPU互联通信的大带宽要求,于是乎英伟达独家推出了主要用于GPU间互联的技术NVLink,以最新的B200芯片为例,通过NVLink可实现GPU卡间1.8TB/s的双向互联带宽,是PCIe 5.0x16的14倍,NVLink是技术,对应GPU卡的接口则为SXM(这是为什么大家习惯把SXM GPU也叫NVLink GPU的原因),这类SXM接口的GPU天然就基于NVLink实现GPU卡间互联(但是GPU与CPU通信的话依然是基于PCIe,比如我们目前的H100 NVLink八卡机)。
③、是不是PCIe GPU就彻底和NVLink无缘了呢?也不是,部分高端PCIe GPU预留了NVLink的接口,通过专用的NVLink桥接器能够实现两张GPU间的卡卡NVLink链路的链接(比如H100 PCIe卡通过桥接器两卡间的通信带宽能达到600GB/s),但仅限于2卡,互联逻辑图和物理效果图如下。
二、GPU相关OAM模组或接口是什么
首先OAM是OCP-OAI 小组制定的 AI加速模块接口规范(可以理解为定义了GPU接口设计),目标是解决各个GPU厂商之间在进行产品设计时缺乏统一的业界规范,不同厂商设计的芯片无论在结构上还是电气特性上往往都存在显著差异,从而对服务器平台适配工作,会带来更高的开发成本和更长的开发周期。
为了进一步促进OAI的生态建立,OCP-OAI小组在OAM的基础上统一了AI加速卡基板OAI-UBB(Universal Baseboard)设计规范。规范以8张OAM为一个整体,定义了8xOAM的Baseboard的主机接口、供电方式、散热方式、管理接口、卡间互连拓扑、Scale Out方式,这里就不展开了,感兴趣的朋友可以查阅相关资料。
OAM GPU举例:下图是AMD的八卡OAM的GPU产品,通过1卡到7卡互联最多可实现双向互联带宽896GB/s(计算方式是128GB/s乘以7),因为AMD OAM GPU间的每条链路依然是基于PCIe 5.0x16的;
下图是浪潮信息在市场活动中公布的基于OAM规范设计服务器情况,需要说明的是目前OAM规范已经到了2.0版本,服务器产品可同时支持英伟达的HGX模组和基于OAM设计的AI加速芯片模组(比如国产GPU产品),可大幅降低产品研发的难度和投入,大家如果细心的话,可以发现国内很多AI芯片厂商的官网都有推出了符合OAM规范的GPU模组,针对OAM我们今天就介绍到这里。
----老张会持续通过公众号分享前沿IT技术,创作不易,大家多多点赞和关注!