引言
NVIDIA NVLink 是一种关键的高速互连技术,专为加速计算而设计,尤其是在多 GPU 系统以及 GPU 和支持 CPU 之间 ^1^。NVLink 的出现标志着传统互连瓶颈的突破,凸显了现代计算工作负载日益增长的需求。与通用性 PCIe 相比,NVLink 专为满足高性能计算和人工智能领域中紧密耦合的 GPU 所需的大规模数据交换而设计。这项技术对于充分发挥百亿亿次级计算的潜力以及训练万亿参数人工智能模型至关重要 ^4^。本深度分析报告旨在全面探讨 NVIDIA NVLink,涵盖其定义、演进、技术规格、应用和未来趋势。
NVIDIA NVLink 的基本原理
NVLink 是 NVIDIA 开发的一种专有的、基于导线的串行多通道近距离通信链路 ^2^。它能够促进跨多个 NVIDIA GPU 和支持 CPU 的连贯数据和控制传输 ^1^。NVLink 采用点对点连接和高速信令互连 (NVHS) ^2^。NVLink 的专有性质使得 NVIDIA 能够针对其 GPU 架构对其进行专门定制,从而实现开放标准可能无法实现的优化。然而,这也使得用户对 NVIDIA 的生态系统产生了一定的依赖性。
与传统的互连技术(如 PCI Express (PCIe))相比,NVLink 具有显著的优势 ^2^。例如,第五代 NVLink 提供的带宽是 PCIe Gen5 的 14 倍以上 ^4^。NVLink 由于采用直接 GPU 到 GPU 的通信路径,减少了 PCIe 交换机和 CPU 参与所带来的开销,因此具有更低的延迟 ^5^。此外,NVLink 在 GPU 到 GPU 通信中采用网状网络,而不是像 PCIe 那样的中央集线器 ^2^。带宽和延迟方面的巨大优势使得 NVLink 成为需要快速数据交换的苛刻多 GPU 工作负载的首选互连技术。与作为通用互连的 PCIe 相比,NVLink 的设计针对直接 GPU 到 GPU 通信进行了优化,绕过了这些瓶颈,从而在并行处理任务中实现了显著的性能提升。
NVLink 在实现高速数据和控制传输方面具有以下关键优势 ^1^:它促进了 GPU 之间更快的数据传输,从而加速了并行计算环境中的处理速度 ^6^。NVLink 还使 GPU 能够共享内存,从而创建一个统一的内存池,以更有效地利用资源 ^4^。值得注意的是,NVLink 本身并不直接进行内存池化,而是为应用程序实现此功能提供了必要的高速连接 ^20^。此外,NVLink 减少了 CPU 在 GPU 到 GPU 通信中的干预需求,进一步降低了延迟 ^10^。与 PCIe Gen5 相比,NVLink 还具有更好的能源效率 ^7^。
各代产品的演进和技术规格
NVLink 经历了多次迭代,每一代都带来了显著的改进,以满足加速计算不断增长的需求 ^2^。
- NVLink 1.0 (2014 年发布,在 Pascal P100 中实现): 每个差分对的信令速率为 20 GT/s ^2^。每个链路在每个方向上有 8 个差分对(每个链路总共 32 根导线)^2^。每个链路的单向速率为 20 GB/s ^2^,双向带宽为 40 GB/s ^2^。P100 芯片每个有 4 个链路 ^2^,总双向带宽为 160 GB/s ^2^。它支持 NVIDIA Pascal 架构 ^2^,并且首个原生支持的 CPU 是 IBM POWER8+ ^3^。NVLink 1.0 在带宽方面比 PCIe 3.0 有了显著提升,专门为早期 GPGPU 计算和 AI 加速的需求而设计。与 IBM 的合作凸显了其最初对高性能服务器环境的关注。PCIe 3.0 的局限性在利用 GPU 并行处理能力的应用程序中日益明显。NVLink 1.0 提供了一条专用的高带宽通道,从而在多 GPU 配置中实现了更高的效率,尤其是在 GPU 和 CPU 需要快速交换大型数据集的系统中。
- NVLink 2.0 (2017 年随 Volta V100 推出): 每个差分对的信令速率为 25 GT/s ^2^。每个链路在每个方向上有 8 个差分对 ^2^。每个链路的单向速率为 25 GB/s ^2^,双向带宽为 50 GB/s ^2^。V100 芯片每个有 6 个链路 ^2^,总双向带宽为 300 GB/s ^2^。它支持 NVIDIA Volta 架构 ^2^,并引入了缓存一致性支持 ^6^。为了实现八个 GPU 之间的完全互连,还引入了首代 NVSwitch ^23^。NVLink 2.0 将其前代的带宽翻了一番,并增加了缓存一致性等关键特性,进一步提高了复杂工作负载下多 GPU 系统的效率。NVSwitch 的引入标志着向可扩展 GPU 集群迈出了重要一步。V100 每个 GPU 的链路数量增加以及 NVSwitch 的引入,使得更复杂、性能更高的多 GPU 配置成为可能。缓存一致性通过确保跨 GPU 内存的数据一致性简化了编程,从而更容易开发并行应用程序。
- NVLink 3.0 (2020 年随 Ampere A100 推出): 每个差分对的信令速率为 50 GT/s ^2^。每个链路在每个方向上有 4 个差分对 ^2^。每个链路的单向速率为 25 GB/s ^2^,双向带宽为 50 GB/s ^2^。A100 芯片每个有 12 个链路 ^2^,总双向带宽为 600 GB/s ^2^。它支持 NVIDIA Ampere 架构 ^2^,并将 NVSwitch 端口增加到 36 个 ^26^。NVLink 3.0 保持了每个链路的带宽,但显著增加了每个 GPU 的链路数量,从而实现了总带宽的巨大飞跃。这一代对于处理日益复杂的人工智能模型至关重要。A100 上每个 GPU 的链路数量翻倍为训练更大、更复杂的人工智能模型提供了必要的互连带宽。NVSwitch 上端口数量的增加进一步增强了多 GPU 系统的可扩展性。
- NVLink 4.0 (2022 年随 Hopper H100 推出): 每个差分对的信令速率为 100 GT/s(使用 PAM4 调制)^2^。每个链路在每个方向上有 2 个差分对 ^2^。每个链路的单向速率为 25 GB/s ^2^,双向带宽为 50 GB/s ^2^。H100 芯片每个有 18 个链路 ^2^,总双向带宽为 900 GB/s ^2^。它支持 NVIDIA Hopper 和 NVIDIA Grace CPU 架构 ^2^。NVSwitch 升级到第三代,具有 64 个端口并集成了 SHARP 协议 ^5^。NVLink 4.0 显著提高了每个通道的信令速率,尽管每个链路的通道数量少于早期版本,但仍实现了更高的整体带宽。NVSwitch 中 SHARP 的集成进一步优化了 HPC 和 AI 的集体操作。然而,实际性能测量有时会低于理论值 ^36^。转向 PAM4 调制允许在相同的物理链路上实现更高的数据速率。SHARP(可扩展分层聚合和归约协议)直接集成到 NVSwitch 硬件中,加速了并行计算中常见的通信模式,从而降低了延迟并提高了效率。理论带宽和实测带宽之间的差异表明实际部署中可能存在开销或限制。
- NVLink 5.0 (2024 年随 Blackwell GB200 推出): 每个子链路的传输速率为 200Gbps,每个端口包含四个差分信号线对 ^27^。每个链路的单向速率为 100 GB/s ^4^,双向带宽为 200 GB/s。B200 芯片每个有 18 个链路 ^4^,总双向带宽为 1.8 TB/s ^4^。它支持 NVIDIA Blackwell 架构 ^4^。NVLink 5 Switch 具有 144 个端口,无阻塞交换容量为 14.4 TB/s ^4^。在 GB300 NVL72 系统中支持 72 个 GPU 的 NVLink 域 ^4^。NVLink 5.0 代表了互连带宽的重大飞跃,与上一代相比,每个 GPU 的带宽翻了一番。这一进步对于处理未来 AI 模型的巨大计算需求至关重要。新的交换机架构实现的 NVLink 域的扩展规模,使得在单个系统内实现前所未有的并行处理水平成为可能。NVIDIA 的带宽计算和术语(SubLink/Port/Lane)存在一些模糊之处 ^27^。带宽的持续增长反映了 AI 和 HPC 对更快数据传输的无尽需求。在单个高带宽域中连接更多 GPU 的能力,使得更高效的模型并行和分布式计算成为可能。NVIDIA 术语的澄清需求表明,理解和充分利用 NVLink 5.0 的全部功能可能存在复杂性。
NVLink 各代规格总结
代数 | 发布年份 | 每通道信令速率 (GT/s) | 每链路通道数 (单向) | 每链路双向带宽 (GB/s) | 每个芯片的链路数 (示例 GPU) | 每个芯片的总双向带宽 (GB/s) | 支持的架构 | 关键特性 |
---|---|---|---|---|---|---|---|---|
1.0 | 2014 | 20 | 8 | 40 | 4 (P100) | 160 | Pascal | 最初版本 |
2.0 | 2017 | 25 | 8 | 50 | 6 (V100) | 300 | Volta | 缓存一致性,NVSwitch 1.0 |
3.0 | 2020 | 50 | 4 | 50 | 12 (A100) | 600 | Ampere | NVSwitch 端口增加到 36 |
4.0 | 2022 | 100 (PAM4) | 2 | 50 | 18 (H100) | 900 | Hopper,Grace CPU | NVSwitch 3.0,SHARP 协议 |
5.0 | 2024 | 200 (PAM4) | 4 | 200 | 18 (B200) | 1800 | Blackwell | NVLink 5 Switch,72 GPU 域 |
NVLink Switch 的作用
NVLink Switch 是一种物理芯片(类似于交换机 ASIC),它通过高速 NVLink 接口连接多个 GPU ^4^。它提高了服务器内部和机架之间的通信和带宽 ^4^,并支持以全 NVLink 速度进行所有 GPU 之间的通信 ^4^。NVLink Switch 对于将 NVLink 扩展到少量直接连接的 GPU 之外至关重要,它使得创建大型统一的 GPU 计算资源成为可能。如果没有交换机,可以直接相互通信的 GPU 数量会受到每个 GPU 上 NVLink 端口数量的限制。NVLink Switch 充当中央枢纽,允许系统中的任何 GPU 以高速与任何其他 GPU 通信,从而克服了这一限制并实现了更大更强大的系统。
不同代的 NVSwitch 具有不同的功能:NVSwitch 1.0(随 Volta V100 推出)具有 18 个端口,每个端口 50 GB/s 的带宽,总带宽为 900 GB/s ^23^;NVSwitch 2.0(随 Ampere A100 推出)具有 36 个端口,每个端口 50 GB/s 的带宽 ^26^;NVSwitch 3.0(随 Hopper H100 推出)具有 64 个 NVLink4 端口,双向带宽为 3.2 TB/s,并集成了 SHARP 协议 ^5^;NVLink 5 Switch(随 Blackwell GB200 推出)具有 144 个 NVLink 端口,无阻塞交换容量为 14.4 TB/s ^4^。每一代 NVSwitch 都显著增加了端口数量和整体交换容量,这与 NVLink 带宽的进步以及对更大型多 GPU 系统的需求直接相关。SHARP 等特性的集成凸显了这些互连结构日益增长的复杂性。
NVLink Switch 对大规模部署中的带宽和延迟产生了重大影响 ^4^。它使得在服务器内部和服务器之间创建 NVLink 网络成为可能,从而形成了数据中心规模的 GPU ^4^。通过 SHARP 等特性,它为集体操作提供了高带宽和低延迟 ^4^。NVLink Switch 对于快速多 GPU 推理至关重要,尤其对于大型语言模型,它提供了高互连带宽并实现了高效的数据交换 ^21^。NVLink Switch 是 NVLink 可扩展性的关键推动因素,使其能够扩展到单个服务器之外,形成对于应对最苛刻计算挑战至关重要的大规模互连 GPU 集群。通过提供高速低延迟的交换结构,NVLink Switch 允许聚合来自多个服务器的 GPU 的计算能力。这种能力对于实现百亿亿次级计算所需的性能以及训练和部署极其庞大的人工智能模型至关重要。
NVIDIA NVLink 的应用
NVIDIA NVLink 在各种领域都有广泛的应用:
- 高性能计算 (HPC) ^2^: 通过实现大规模并行处理,加速科学模拟、天气预报和流体动力学等计算密集型任务 ^5^。它允许研究人员使用更大、更复杂的应用程序来解决复杂问题 ^4^,并且对于实现百亿亿次级计算性能至关重要 ^4^。NVLink 已成为现代超级计算机中不可或缺的组成部分,通过其处理极其苛刻计算工作负载的能力,使研究人员能够突破科学发现的界限。NVLink 的高带宽和低延迟使得构成现代超级计算机的数千个 GPU 之间能够进行高效的通信和数据共享。这使得科学家能够以前所未有的规模运行模拟和处理数据,从而在各个科学领域取得突破。
- 人工智能 (AI) 和深度学习 ^4^: 通过实现高效的多 GPU 处理和内存共享,对于加速大型语言模型 (LLM) 和万亿参数模型的训练至关重要 ^4^。它缩短了训练时间并提高了 AI 算法的可扩展性 ^8^,并且对于大型模型的实时、经济高效的推理至关重要 ^4^。NVLink 还驱动着 AI 代理并支持高级 AI 应用程序的开发 ^4^。NVLink 是当前 AI 革命的基础技术,它使得开发和部署日益强大和复杂的人工智能模型成为可能,这些模型正在改变各个行业。现代 AI 模型的大规模数据集和计算需求需要像 NVLink 这样的高带宽、低延迟互连。没有它,训练这些模型将非常缓慢且成本高昂。NVLink 高效连接和协调多个 GPU 的能力对于推进 AI 的最新技术至关重要。
- 数据中心 ^4^: 支持为苛刻的工作负载创建高性能计算基础设施 ^4^。它促进了 GPU 资源的高效扩展,以满足大规模工作负载的需求 ^4^。NVLink 用于 NVIDIA DGX 和 HGX 系列服务器,这些服务器对于数据中心中的 AI 和 HPC 部署至关重要 ^5^。NVLink 是专为加速计算而设计的现代数据中心基础设施的基石,它使组织能够处理 AI、数据分析和科学研究中不断增长的计算能力需求。数据中心正处于部署高性能计算资源的最前沿。NVLink 提供了必要互连技术,以在这些数据中心内构建可扩展且高效的 GPU 集群,从而支持广泛的苛刻应用程序和服务。
-
其他相关应用:
- 渲染和可视化 ^20^: 支持 GPU 内存池化,用于渲染大型复杂场景 ^8^。
- 数据分析和大数据 ^5^: 加速处理海量数据 ^8^。
- 虚拟现实和增强现实 ^32^: 支持沉浸式体验所需的高带宽和低延迟。
- 自动驾驶汽车 ^7^: 促进自动驾驶汽车 AI 算法的训练。
- 机器人技术 ^22^: 支持智能机器人的开发和训练。
NVLink-C2C (芯片到芯片互连)
NVLink-C2C 是 NVLink 技术的扩展,用于在单个封装内或跨多个封装的芯片之间进行连贯互连 ^4^。它使用小芯片技术将 NVIDIA GPU、DPU 和 CPU(如 Grace)与定制硅连接起来 ^7^。NVLink-C2C 用于 NVIDIA Grace Hopper Superchip 和 Grace CPU Superchip ^7^,也用于 NVIDIA GB200 Superchip,将 Blackwell GPU 和 Grace CPU 结合在一起 ^4^。NVLink-C2C 代表了 NVIDIA 互连策略的进一步发展,它实现了系统中不同处理单元之间更紧密的集成,以最大限度地提高性能和效率。随着工作负载变得更加异构,需要 CPU、GPU 和 DPU 的组合优势,芯片级的高带宽、低延迟互连变得至关重要。NVLink-C2C 促进了这种紧密耦合,允许不同类型处理器之间进行连贯的内存访问和更快的通信。
NVLink-C2C 的优势包括:用于连贯数据传输的高带宽 ^22^;用于快速同步和对共享数据进行高频更新的低延迟 ^22^;与 NVIDIA 芯片上的 PCIe 相比,具有更高的能源和面积效率 ^7^;支持 Arm 的 AMBA CHI 和 Compute Express Link (CXL) 等行业标准协议,以实现互操作性 ^22^。NVLink-C2C 不仅提高了性能,而且还关注功耗和面积效率,这对于构建高密度、节能的计算系统至关重要。对行业标准的支持表明,在异构计算环境中,NVIDIA 的技术正朝着更大的互操作性发展。通过优化芯片到芯片的互连,NVIDIA 可以创建更强大、更高效的集成处理器。提高的能源和面积效率允许在相同的空间内封装更多的计算能力,同时降低功耗。支持行业标准确保 NVIDIA 的技术可以与系统中的其他组件无缝协作。
NVLink 与其他互连技术的比较
NVLink 与 PCIe 之间的详细比较 ^2^:重申“基本原理”部分讨论的带宽、延迟、可扩展性和设计目标方面的关键差异。强调 NVLink 针对 GPU 到 GPU 和 GPU 到 CPU(在特定架构中)的通信进行了优化,而 PCIe 是一种更通用的接口,用于连接各种外围设备 ^2^。NVLink 和 PCIe 之间的选择在很大程度上取决于具体的应用需求。对于多 GPU 加速计算,NVLink 提供了显著的优势,而 PCIe 仍然是更广泛系统连接的标准。理解每种互连技术的独特优势和劣势对于系统架构师至关重要。NVLink 的高带宽和低延迟使其非常适合紧密耦合的 GPU 工作负载,而 PCIe 的多功能性和广泛采用使其适用于更广泛的应用。
讨论 NVLink 相对于其他高速互连技术(如 InfiniBand)的地位 ^5^:InfiniBand 是一种用于 HPC 和数据中心的开放标准网络技术,为互连计算节点和 I/O 设备提供高带宽和低延迟 ^5^。NVLink 主要用于服务器内部的多 GPU 通信,而 InfiniBand 用于构建大规模集群的节点间通信 ^5^。利用 NVSwitch 的 NVLink 网络可以将 NVLink 连接扩展到节点之间,模糊了服务器内部和服务器之间通信的界限 ^4^。通常,在大型系统中采用混合方法,使用 NVLink 进行机架内 GPU 通信,而使用 InfiniBand(或基于以太网的 RoCE)进行机架间通信 ^5^。虽然 NVLink 和 InfiniBand 都解决了对高速低延迟互连的需求,但它们是为不同的规模和目的而设计的。NVLink 在紧密耦合服务器内部的 GPU 方面表现出色,而 InfiniBand 更适合构建大型分布式计算环境。然而,NVIDIA 在 NVLink 网络方面的进步正在扩大其覆盖范围。对于需要单个服务器内大规模并行处理的应用,NVLink 提供了最有效的解决方案。对于扩展到数百或数千个节点,InfiniBand 提供了一种成熟且广泛采用的技术。NVLink 网络的出现表明了 NVIDIA 旨在提供跨不同规模的更统一的互连解决方案。
未来趋势与分析
NVLink 将继续发展,具有更高的带宽能力(例如,NVLink 5.0 及更高版本),以满足 AI 和 HPC 不断增长的需求 ^4^。预计 Vera Rubin 等未来几代产品将进一步提高 NVLink 的速度 ^53^。NVSwitch 技术的进步将带来更大的可扩展性选项,从而实现包含数百甚至数千个 GPU 的更大 NVLink 域 ^4^。NVLink Switch 有望在单个 NVLink 域中扩展到 576 个 GPU ^4^。它还可能与 CXL 等其他互连技术融合或集成,以支持异构计算架构 ^22^。未来的 NVLink 设计将侧重于提高能源效率和降低功耗 ^4^。NVLink 在 AI 领域具有战略重要性,并在维持 NVIDIA 的竞争优势方面发挥着关键作用 ^21^。NVLink 的未来与 GPU 技术的进步以及 AI 和 HPC 不断变化的需求紧密相关。我们可以预期在更高的带宽、更大的可扩展性和更高的效率方面将持续推进,并可能与其他互连标准更紧密地集成,以创建更通用、更强大的计算平台。随着 AI 模型规模和复杂性的增长,以及 HPC 工作负载需要越来越高的计算能力,对更快、更可扩展的互连的需求只会增加。NVIDIA 对 NVLink 和 NVSwitch 的持续投资表明了其致力于解决这些挑战并保持其在加速计算市场领导地位的决心。与 CXL 等技术的潜在集成表明,未来不同类型的处理器和内存可以更无缝、更高效地互连。
结论
NVIDIA NVLink 的主要优势在于其高带宽、低延迟和可扩展性,这使其成为加速计算的关键技术。它在高性能计算、人工智能和数据科学领域的突破性进展中具有重要意义。NVLink 在提升现代计算系统的能力方面发挥着至关重要的作用,并将继续发展以应对未来计算挑战的需求。
审核编辑 黄宇