Nvidia 成为 AI 革命的硬件巨头的原因有很多,其中之一无疑是 NVLink 内存共享端口,该端口早在 2016 年就开始在其Pascal P100 GOU 加速器上推出。现在,在该领域工作了近十年后,随着 UALink 联盟准备与 Big Green 合作,为数据中心计算引擎提供内存一致性互连,Nvidia 决定开放对 NVLink 协议和驱动该协议的物理传输 (PHY) 的访问。
由此产生的知识产权包称为 NVLink Fusion,这意味着那些自定义 CPU 或加速器的公司可以许可 NVLink 端口设计和位于其之上的内存原子协议,以允许一种类似于 CPU 几十年来可用的 NUMA 内存共享。
当然,这项技术总是可以授权的。每一项技术都是如此。这始终是一个讨价还价的问题。如果您向 Intel 开了一张足够大的支票 - 或者在法庭上起诉他们反垄断 - 您总是可以许可 X86 指令集,仅举个例子。事实证明,AMD 起诉 Intel 以获得使用其黑匣子、克隆 X86 指令集的权利,然后与 Intel 签订交叉许可协议以埋葬法律斧头。起诉 Nvidia 对行业来说不是一个好的选择,但如果 Nvidia 对 UALink 及其知识产权大惊小怪,毫无疑问,该行业将在这一点上联合起来对付 Nvidia。每个人都同意——当我们看到这一点时,我们指的是地球上 IT 领域的任何人——Nvidia 需要一些竞争来降低 AI 基础设施的价格。
这样做不是 Nvidia 的工作。Nvidia 应该尝试在这段时间内获得尽可能多的收入和利润,然后愚蠢地挥霍它。就像 IBM、Microsoft 和 Intel 都轮流这样做了。像它在 2020 年至 2022 年试图做的那样,以 400 亿美元收购 Arm 将是一种这样的挥霍,而 Nvidia 可能已经从那次子弹躲避中吸取了教训。但是,如果 Arm 交易发生,NVLink 及其相关的 NVSwitch 知识产权可能已经以合理的价格开放给所有人通过 Arm 知识产权机器使用,正如 Nvidia 联合创始人兼首席执行官黄仁勋从一开始就告诉我们的那样。
当 Arm 交易没有完成,英伟达不得不向软银支付 12.5 亿美元以取消反垄断监管机构不支持的交易时,我们在 2022 年初提醒英伟达,英伟达无法通过 Arm 购买的东西,它仍然可以通过与 Arm 更紧密的合作或通过自己的 IP 许可来模仿它来实现。也许已经与超大规模企业和云构建者进行了这样的谈判,他们决定走自己的路来设计自己的 CPU 和 AI 加速器,并让台积电制造它们。
当然,有一家 CPU 制造商已经与 Nvidia 达成了这样的许可协议,那就是 IBM,它与 Nvidia 合作,使用NVLink 9 端口创建将其 Power9 处理器和 Nvidia 的“Volta”V100 GPU 加速器相结合的百亿亿次级系统。在这种情况下,没有什么神奇的事情发生。IBM 创建了自己的“BlueLink”OpenCAPI PHY 和在其上运行的 NUMA 协议,以在共享内存 NUMA 设置中将 Power9 处理器彼此链接起来。将 NVLink 协议添加到 BlueLink,这并不是什么大 D。因此,IBM 是橡树岭国家实验室的“Summit”超级计算机和劳伦斯利弗莫尔国家实验室的“Sierra”超级计算机的主要承包商,而 Nvidia 提供了大部分失败。
但是,IBM 和 Nvidia 并未就如何在这两个美国能源部实验室的百万兆次级系统上合作达成协议,并且 Big Blue 不支持 Power10 芯片上的 NVLink 3.0 端口,即使我们确定这在技术上是可行的。(而且,在经济上可能更可取。因此,AMD 横扫并赢得了这些交易,并有机会振兴其数据中心 GPU 业务。
当然,Nvidia 的“Grace”CG100 Arm 服务器处理器上有 NVLink 链接,这些链接经过聚合,在 CPU 和“Hopper”H100 和 H200 GPU 加速器或“Blackwell”B100、B200 和 B300 GPU 加速器之间为每个端口带来 600 GB/秒的聚合带宽。
NVLink 每个链路的通道数量可变,每个链路有两个通道用于双向流量,以及多个链路以创建物理端口运行,并且通道根据信号上 PAM-4 调制的生成和使用运行各种速度。喜欢这个:
NVLink 1.0 的通道以 20 Gb/秒的速度运行,每个链路有 8 个通道,每个链路的双向带宽为 40 GB/秒。每个 Pascal P100 加速器有四个链路,Nvidia 在 GPU 之间和具有实验性 NVLink 1.0 端口的 Power8 CPU 之间提供了 160 GB/秒的带宽。
使用 NVlink 2.0,通道以 25 Gb/秒的速度运行(与 IBM 的 BlueLink 相同),每个链路再次有 8 个通道,每个链路产生 50 GB/秒的双向带宽。V100 GPU 总共有 6 个链路,在设备之间提供 300 GB/秒的带宽。
在 NVLink 3.0 中,NVlink SerDes 中添加了 PAM-4 调制,使通道带宽增加了一倍,但每个链路的通道数量减半到四个,从而将每个链路的双向带宽保持在 50 GB/秒。“Ampere” A100 GPU 有十几个 NVLink 3.0 端口,带宽为 600 GB/秒。(这也是 Grace CPU 所具有的。
使用 NVLink 4 时,信号传输速率提高到 100 Gb/秒(添加了 PAM-4 编码的本机 50 Gb/秒),并且每个链路有两个通道,每个链路具有相同的 50 GB/秒双向信号传输速率。Hopper 和 Blackwell 芯片每个芯片都有 18 个链路,或者在 Blackwell 的情况下,每个芯片有 18 个链路,从而产生每个 Hopper 或 Blackwell GPU 小芯片 900 GB/s 的双向带宽。(Blackwell 套接字有两个小芯片,并获得 1.8 TB/秒的 NVLink 4.0 带宽。
正如我们在 4 月份所解释的那样,UALink 可以联合起来建立更多的通道和尽可能多的链路,以增加进出加速器和 CPU 的带宽。UALink 将以 200 Gb/秒(100 Gb/秒本机信令加 PAM-4 编码)的速度运行通道,其中 4 个通道用于 800 Gb/秒的链路,即每个链路的双向速度为 1,600 Gb/秒。将其中四个链接联合起来,您可以创建一个以 800 GB/秒的速度运行的 UALink 端口,这可能足够接近 NVLink 4 为 Hopper 和 Blackwell 提供的每个端口的 900 GB/秒。
通过 NVLink Fusion,Nvidia 并没有开放 NVLink 和 NVSwitch,而且它绝对不会创建一个自由竞争(无论从哪个意义上说),让任何制造 CPU 或加速器的人都将 NVLink 内存原子嫁接到他们的设备上。
NVLink Fusion 有两个已获批准的用例,如下所示:
第一种是将
NVLink 端口添加到自定义 CPU,例如超大规模提供商和云构建商为他们自己设计的 CPU 端口。这假设这些超大规模提供商和云构建者将使用 NVLink 将 Nvidia GPU 加速器挂接到那些自主开发的加速器。
在上图中,硬件堆栈包括 Spectrum-X 交换和 BlueField 或 ConnectX 网络接口卡,这些卡连接到东西向和南北向网络的 CPU,其中 Nvidia GPU 与 NVSwitch 交叉耦合并使用 Nvidia 的 Mission Control 系统控制软件。目前尚不清楚是否需要所有这些组件才能将 NVLink 添加到自定义 CPU 芯片中。我们假设是的。
另一个用例是使用 Nvidia 当前的 Grace CG100 Arm 处理器或 Nvidia 未来的“Vera”CV100 CPU 和 NVLink C2C die-to-die 互连,以链接到具有 NVLink Fusion 端口的自定义加速器。相同的前端 Spectrum-X 和 BlueField/Connect-X 网络以及相同的 NVSwitch 和 Mission Control 后端网络都包裹在它周围。同样,目前尚不清楚是否需要这样做才能将 NVLink 端口添加到自定义加速器。
在任何情况下,您都可以在具有 NVSwitch 互连或直接链接的自定义 CPU 和自定义加速器上使用 NVLink 端口,或者像超级芯片一样直接链接,或者在具有两个、四个或八个加速器的多对多配置中使用 NVLink 端口。只是上面讨论的这两个选项。
Nvidia 与 Cadence Design Systems 和 Synopsis 作为技术合作伙伴,可帮助客户将 NVLink 端口设计到其 CPU 或加速器中。Alchip、Astera Labs、Marvell 和 MediaTek 都能够进行定制设计工作,将 NVLink Fusion 端口添加到设备中,富士通和高通已签约将 NVLink Fusion 端口添加到其数据中心 CPU 设计中。高通也有 AI 加速器的愿望,并且可能也会为这些设备添加 NVLink,但显然,他们必须链接到 Nvidia Grace 或 Vera CPU 才能做到这一点。
Nvidia 成为 AI 革命硬件巨头的原因众多,除了众所周知得CUDA护城河,NVLink 内存共享端口无疑也是其中之一。早在 2016 年,该端口就开始在其 Pascal P100 GPU 加速器上推出。如今,在该领域耕耘近十年后,随着 UALink 联盟准备与 Nvidia(常被称为 Big Green)合作,为数据中心计算引擎提供内存一致性互连,Nvidia 决定开放对 NVLink 协议以及驱动该协议的物理传输(PHY)的访问。
由此产生的知识产权包名为 NVLink Fusion,这意味着那些定制 CPU 或加速器的公司可以获得 NVLink 端口设计以及其上内存原子协议的许可,从而实现一种类似于 CPU 几十年来所具备的 NUMA 内存共享模式。
当然,从技术层面而言,任何技术都可以进行授权,这不过是一个讨价还价的过程。例如,只要向 Intel 开出足够高额的支票,或者在法庭上以反垄断为由起诉他们,就有可能获得 X86 指令集的许可。事实上,AMD 就曾起诉 Intel,以获取使用其技术并克隆 X86 指令集的权利,之后双方签订了交叉许可协议,才结束了法律纷争。虽然起诉 Nvidia 并非行业的理想选择,但如果 Nvidia 在 UALink 及其知识产权问题上过于刁难,毫无疑问,行业内各方会联合起来应对。毕竟,业内人士(这里指全球 IT 领域的相关人员)都认同,Nvidia 需要面临一定竞争,才能促使 AI 基础设施价格降低。
不过,降低价格并非 Nvidia 的职责所在。Nvidia 理应在当下尽可能获取更多收入和利润,这是企业的正常经营策略。就像 IBM、Microsoft 和 Intel 等公司都曾有过类似阶段。例如,Nvidia 在 2020 - 2022 年试图以 400 亿美元收购 Arm,这在当时看来就是一种资金的大规模投入行为。虽然该交易最终未达成,Nvidia 还向软银支付了 12.5 亿美元以取消因反垄断监管机构反对而无法推进的交易,但这或许也让 Nvidia 汲取了经验教训。倘若 Arm 交易成功,按照 Nvidia 联合创始人兼首席执行官黄仁勋最初的设想,NVLink 及其相关的 NVSwitch 知识产权可能会通过 Arm 的知识产权体系,以合理价格向所有人开放使用。
在 Arm 交易告吹后,我们在 2022 年初就提醒过 Nvidia,即便无法通过收购 Arm 获得某些技术,它仍可通过与 Arm 更紧密合作,或者通过自身的知识产权许可来实现类似目标。或许 Nvidia 已经与超大规模企业和云构建商展开了相关谈判,这些企业有意自行设计 CPU 和 AI 加速器,并交由台积电进行制造。
实际上,已有一家 CPU 制造商与 Nvidia 达成了此类许可协议,那就是 IBM。IBM 与 Nvidia 合作,利用 NVLink 9 端口打造了将其 Power9 处理器与 Nvidia 的 “Volta” V100 GPU 加速器相结合的百亿亿次级系统。在此过程中,技术实现并不复杂。IBM 开发了自己的 “BlueLink” OpenCAPI PHY 以及运行其上的 NUMA 协议,用于在共享内存 NUMA 设置中连接 Power9 处理器。在此基础上添加 NVLink 协议,并非难事。正因如此,IBM 成为了橡树岭国家实验室的 “Summit” 超级计算机和劳伦斯利弗莫尔国家实验室的 “Sierra” 超级计算机的主要承包商,而 Nvidia 也在其中提供了大量支持。
然而,IBM 和 Nvidia 未能就如何在这两个美国能源部实验室的百万兆次级系统上进一步合作达成一致,并且 IBM 并未在 Power10 芯片上支持 NVLink 3.0 端口,尽管从技术角度而言这是可行的,而且在经济层面或许也更为有利。也正因为此,AMD 抓住机遇,赢得了相关交易,获得了振兴其数据中心 GPU 业务的契机(以往 AMD 在该领域表现平平,但如今情况已有所不同)。
当然,Nvidia 的 “Grace” CG100 Arm 服务器处理器配备了 NVLink 链接。这些链接经过聚合处理,在 CPU 与 “Hopper” H100 和 H200 GPU 加速器,或 “Blackwell” B100、B200 和 B300 GPU 加速器之间,为每个端口带来了 600 GB / 秒的聚合带宽。
NVLink 的链路具备灵活特性:每个链路包含两个通道用于双向流量,可通过多个链路构建物理端口;通道的速度因信号上 PAM - 4 调制的生成和使用情况而异,具体如下:
NVLink 1.0:通道运行速度为 20 Gb / 秒,每个链路有 8 个通道,每个链路的双向带宽为 40 GB / 秒。每个 Pascal P100 加速器配备四个链路,Nvidia 借此在 GPU 之间以及具有实验性 NVLink 1.0 端口的 Power8 CPU 之间提供了 160 GB / 秒的带宽。
NVLink 2.0:通道运行速度提升至 25 Gb / 秒(与 IBM 的 BlueLink 速度相同),每个链路依旧为 8 个通道,每个链路的双向带宽达到 50 GB / 秒。V100 GPU 总共设有 6 个链路,可在设备之间提供 300 GB / 秒的带宽。
NVLink 3.0:在 NVlink SerDes 中引入 PAM - 4 调制,通道带宽翻倍,但每个链路的通道数量减半至 4 个,使得每个链路的双向带宽仍维持在 50 GB / 秒。“Ampere” A100 GPU 拥有十二个 NVLink 3.0 端口,总带宽为 600 GB / 秒(这也是 Grace CPU 的带宽配置)。
NVLink 4:信号传输速率进一步提高到 100 Gb / 秒(基于原生 50 Gb / 秒并添加 PAM - 4 编码),每个链路有 2 个通道,每个链路的双向信号传输速率同样为 50 GB / 秒。Hopper 和 Blackwell 芯片各自拥有 18 个链路(Blackwell 芯片组的情况也是如此),从而为每个 Hopper 或 Blackwell GPU 小芯片提供 900 GB/s 的双向带宽(Blackwell 套接字包含两个小芯片,可获得 1.8 TB / 秒的 NVLink 4.0 带宽)。
UALink:如我们在 4 月份所阐述的,UALink 能够整合更多通道和链路,以增加加速器和 CPU 的进出带宽。UALink 的通道运行速度为 200 Gb / 秒(原生 100 Gb / 秒信令加上 PAM - 4 编码),每个链路包含 4 个通道,可实现 800 Gb / 秒的链路速度,即每个链路的双向速度达到 1,600 Gb / 秒。将四个这样的链路整合,可创建一个运行速度为 800 GB / 秒的 UALink 端口,这与 NVLink 4 为 Hopper 和 Blackwell 提供的每个端口 900 GB / 秒的速度已较为接近。
通过 NVLink Fusion,Nvidia 并非完全开放 NVLink 和 NVSwitch,也无意营造一个完全自由竞争的环境(无论从何种角度理解),并非任何制造 CPU 或加速器的企业都能随意将 NVLink 内存技术应用到自身设备上。
NVLink Fusion 有两个已获批的应用场景:
场景一:将 NVLink 端口添加到定制 CPU,例如超大规模提供商和云构建商为自身设计的 CPU 端口。这一应用场景基于这样的假设,即这些超大规模提供商和云构建商将利用 NVLink 把 Nvidia GPU 加速器连接到他们自主研发的加速器上。从硬件架构图来看,硬件堆栈包括 Spectrum - X 交换设备以及 BlueField 或 ConnectX 网络接口卡,这些设备连接到 CPU,并与东西向和南北向网络相连。其中,Nvidia GPU 通过 NVSwitch 交叉耦合,并由 Nvidia 的 Mission Control 系统控制软件进行管理。目前尚不确定将 NVLink 添加到定制 CPU 芯片时是否需要所有这些组件,但我们暂且假定是需要的。
场景二:利用 Nvidia 当前的 Grace CG100 Arm 处理器,或未来的 “Vera” CV100 CPU 以及 NVLink C2C die - to - die 互连技术,连接到具备 NVLink Fusion 端口的定制加速器。同样,前端的 Spectrum - X 和 BlueField/Connect - X 网络,以及后端的 NVSwitch 和 Mission Control 网络都围绕该应用场景构建。与上述情况类似,目前也不确定将 NVLink 端口添加到定制加速器时是否必须采用这种方式。
无论哪种应用场景,都可以在定制 CPU 和定制加速器上使用 NVLink 端口,既可以通过 NVSwitch 互连,也可以像超级芯片那样直接连接,还可以在多对多配置(包含两个、四个或八个加速器)中使用。目前主要就是上述两种应用选项。
Nvidia 与 Cadence Design Systems 和 Synopsis 作为技术合作伙伴,协助客户将 NVLink 端口设计集成到他们的 CPU 或加速器中。Alchip、Astera Labs、Marvell 和 MediaTek 等公司具备定制设计能力,能够将 NVLink Fusion 端口添加到相关设备中。富士通和高通已签署协议,计划将 NVLink Fusion 端口应用于其数据中心 CPU 设计。高通也有涉足 AI 加速器领域的意向,并且可能也会为这些设备添加 NVLink 端口,但显然,他们需要将设备与 Nvidia 的 Grace 或 Vera CPU 相连接才能实现这一目标。