在这里插入图片描述

NVLink 是 NVIDIA 开发的一种点对点(Point-to-Point)互联技术,它被设计用来替代或补充传统的 PCI Express(PCIe)总线,用于在 GPU 之间、GPU 与 CPU 之间提供极高带宽和低延迟的数据传输通道。

NVLink 的出现是为了满足现代高性能计算(HPC)和大规模深度学习(DL)模型对数据吞吐量不断增长的需求。

1. 为什么需要 NVLink?

传统的 PCIe 总线在多 GPU 系统中存在两大主要限制:

  1. 带宽瓶颈: 即使是 PCIe 5.0 x16,其带宽(单向约 64 GB/s)相比于 GPU 内部的显存带宽(数 TB/s)仍然是巨大的瓶颈。当多个 GPU 需要互相交换大量数据时,PCIe 无法满足需求。

  2. 延迟与 CPU 负担: 在多 GPU 系统中,传统的数据交换路径通常是:GPU A →\to PCIe →\to CPU/系统内存 →\to PCIe →\to GPU B。数据传输需要经过 CPU 和系统内存,增加了延迟和 CPU 的负担。

NVLink 旨在通过提供 GPU 之间直接、高速的通信链路来解决这些问题。

2. NVLink 的核心优势与特性

2.1 极高的带宽

NVLink 的最大优势在于其令人震惊的带宽。每一代 NVLink 都在不断翻倍,远超同期的 PCIe 带宽。

互联技术 单向带宽(GB/s, 典型) 优势
PCIe 4.0 x16 ∼32\sim 3232 GB/s 较低的通用性,需要经过 CPU。
NVLink 4(H100) ∼112\sim 112112 GB/s (per link) 高带宽。 直接 GPU-to-GPU 通信。
NVLink Switch (H100) ∼900\sim 900900 GB/s (All-to-All) 极高的总带宽,用于多达 256 个 GPU 的互联。

NVLink 允许数据以比 PCIe 快 5 到 10 倍的速度在 GPU 之间直接移动。

2.2 直接 GPU-to-GPU 通信

NVLink 实现了 Peer-to-Peer (P2P) 传输。GPU A 可以直接将数据发送给 GPU B,无需经过 CPU 内存作为中间缓冲区。这极大地降低了数据传输延迟。

2.3 统一内存访问(Coherency)

通过 NVLink,NVIDIA 实现了 **CUDA 统一内存(Unified Memory)**的增强版,称为 NVLink 内存域(NVLink Memory Domain)

  • 统一地址空间: 允许连接在一起的所有 GPU 访问一个单一的、逻辑上的统一内存地址空间。

  • 内存一致性(Coherency): NVLink 协议确保了所有连接的 GPU 缓存之间的数据一致性,简化了多 GPU 编程模型。

3. NVLink 的应用形式:NVLink Bridge 与 NVSwitch

3.1 NVLink Bridge (消费级与工作站)

在少数 GPU 卡(如 2 张或 4 张)的配置中,GPU 之间通常通过一个物理连接器——NVLink Bridge——直接相连。

  • 作用: 提供了 GPU 之间最直接、最高速的通信路径。

  • 场景: 游戏(SLI)、专业工作站渲染、小型深度学习训练。

3.2 NVSwitch (数据中心与 HPC)

为了实现大规模 GPU 集群的互联,NVIDIA 引入了 NVSwitch 硬件。

  • 功能: NVSwitch 充当一个非阻塞的交换机,可以连接 8 个、16 个甚至更多的 GPU(如 HGX H100 服务器)。

  • 全互联(All-to-All): NVSwitch 确保集群中的每个 GPU 都能以全 NVLink 速度与任何其他 GPU 直接通信。

  • 可扩展性: 通过多层 NVSwitch 互联(例如,在 DGX SuperPOD 中),可以构建起连接数百甚至数千个 GPU 的巨型并行系统。

4. NVLink 对 AI 和 HPC 的重要性

NVLink 是加速大规模并行应用的关键技术:

  • 大规模模型训练: 在训练像 GPT-3 或 Llama 这样需要数百 GB 甚至数 TB 内存的模型时,参数必须分散存储在多个 GPU 上。NVLink 的高带宽是同步梯度和交换模型更新(如 All-Reduce 操作)的瓶颈所在。

  • HPC 模拟: 在分子动力学、气候建模等 HPC 领域,模拟数据需要在相邻的 GPU 之间快速交换,低延迟的 NVLink 是实现高效 Domain Decomposition(区域分解)的关键。

  • 显存池(Memory Pooling): NVLink 使得多个 GPU 的显存可以被视为一个更大的、统一的内存池。

总结:

NVLink 是 NVIDIA 为解决传统 PCIe 总线在 GPU 并行计算中的局限性而开发的革命性技术。它通过提供超高带宽、低延迟的 GPU 间直接通信,以及硬件层面的内存一致性,成为了现代 AI 和 HPC 基础设施中实现大规模、高效并行计算不可或缺的基础设施。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐