NVLink、NVSwitch 与 NVL72 —— 多卡变成"一颗大 GPU"

一颗 H100 算力 2 PFLOPS,训练 GPT-4 量级模型要几千 PFLOPS——必须几百到上千颗 GPU 同步训练。怎么把这些 GPU 连起来,是过去 10 年 NVIDIA 比 GPU 本身更难的工程。本文按演进讲清楚。

为什么 PCIe 不够用

PCIe 5.0 ×16 双向 128 GB/s——听起来不少,但分到 GPU↔GPU 通信上:

1
2
3
4
5
6
7
8 卡服务器,PCIe 拓扑:
CPU0 PCIe Switch ─ GPU0/1/2/3
CPU1 PCIe Switch ─ GPU4/5/6/7

GPU 0 → GPU 7:要经过 CPU0 → UPI → CPU1 → GPU 7
带宽 = min(各跳带宽) ≈ 32 GB/s
延迟 = ~10 μs

AI 训练时 GPU 之间要交换 梯度、参数、激活——动辄几十 GB/s 的持续通信。PCIe 是瓶颈。

NVLink 就是为这个而生。

1
2
3
4
5
NVLink 1 (P100, 2016):    单链路 40 GB/s 双向 × 4 = 160 GB/s
NVLink 2 (V100, 2017): 单链路 50 GB/s 双向 × 6 = 300 GB/s
NVLink 3 (A100, 2020): 单链路 50 GB/s 双向 × 12 = 600 GB/s
NVLink 4 (H100, 2022): 单链路 50 GB/s 双向 × 18 = 900 GB/s
NVLink 5 (B200, 2024): 单链路 100 GB/s 双向 × 18 = 1800 GB/s

NVLink 是点对点链路。连 8 卡如果不加交换芯片,要 8 卡互相直连——每卡需要 7 条链路,物理上做不到。

NVSwitch:GPU 间的”交换机”

NVSwitch 是 NVIDIA 自研的交换芯片,让所有 GPU”全互联”。

graph TB
  subgraph 8卡DGX["8 GPU 全互联(DGX A100)"]
    SW1[NVSwitch 1]
    SW2[NVSwitch 2]
    SW3[NVSwitch 3]
    SW4[NVSwitch 4]
    SW5[NVSwitch 5]
    SW6[NVSwitch 6]
    
    G0[GPU 0] --- SW1 & SW2 & SW3 & SW4 & SW5 & SW6
    G1[GPU 1] --- SW1 & SW2 & SW3 & SW4 & SW5 & SW6
    G2[GPU 2] --- SW1 & SW2 & SW3 & SW4 & SW5 & SW6
    G3[GPU 3] --- SW1 & SW2 & SW3 & SW4 & SW5 & SW6
  end

每颗 GPU 出 12-18 条 NVLink 接到多颗 NVSwitch,任意两颗 GPU 之间 1 跳到达,全速 600/900/1800 GB/s

NVSwitch 代次

1
2
3
4
1st gen (V100 时代):单芯片 16 端口 × 25 GB/s
2nd gen (A100 时代):单芯片 36 端口 × 50 GB/s
3rd gen (H100 时代):单芯片 64 端口 × 50 GB/s
4th gen (B200 时代):单芯片 72 端口 × 100 GB/s

DGX 系列:NVIDIA 的”参考机”

NVIDIA 自己出的”标准 8 卡服务器”:

代次 GPU 显存 / 卡 总 NVLink 带宽 整机功耗
DGX-1 8× P100 16 GB 80 GB/s 3.2 kW
DGX-1V 8× V100 32 GB 300 GB/s 3.5 kW
DGX-2 16× V100 32 GB 300 GB/s(2.4 TB/s 聚合) 10 kW
DGX A100 8× A100 80 GB 600 GB/s 6.5 kW
DGX H100 8× H100 80 GB 900 GB/s 10.2 kW
DGX H200 8× H200 141 GB 900 GB/s 10.2 kW
DGX B200 8× B200 192 GB 1.8 TB/s 14.3 kW

单台 DGX H100/B200 已经接近一个传统机柜的整柜功耗——这是数据中心机柜密度暴涨的根因。

HGX:OEM 用的”基板”

DGX 是整机,HGX 是裸基板(baseboard)——NVIDIA 把 GPU+NVSwitch 焊到一块板上卖给 OEM,OEM 再加 CPU、电源、散热做成自己品牌的整机:

1
2
3
4
HGX H100 8-GPU:
8× H100 SXM5 + 4× NVSwitch
→ 卖给 Supermicro / Dell / 浪潮 / 联想 / 戴尔 等
→ 每家品牌包装成自己的 8 卡服务器

实际上绝大多数”AI 服务器”都是 HGX 基板的不同包装——核心计算单元和 DGX 一样。

NVL72:把 72 颗 GPU 装进一个机柜

GTC 2024 NVIDIA 推出 GB200 NVL72——这是数据中心 GPU 互联的一次质的飞跃。

物理结构

1
2
3
4
5
6
7
8
9
10
1 个 NVL72 机柜(约 1.5m 宽 × 1m 深 × 2.2m 高):
├── 18 个 Compute Tray(每个 2× GB200 Superchip)
│ 每个 GB200 Superchip = 1× Grace + 2× B200
│ → 36 Superchip × 2 GPU = 72 GPU
├── 9 个 NVSwitch Tray
│ 每 Tray 2× NVSwitch 4-gen 芯片
│ → 18× NVSwitch
├── 整柜液冷管路
│ 功耗 120-130 kW
└── 整柜统一电源母线(Bus Bar),DC 48V
graph TB
  subgraph NVL72["NVL72 机柜(120 kW 液冷)"]
    direction TB
    R1[Compute Tray × 18
每 Tray 2× GB200 Superchip] R2[NVSwitch Tray × 9
聚合 NVLink Fabric] R3[液冷分集水器] R4[Bus Bar 48V DC] R1 --- R2 R3 -.- R1 & R2 R4 -.- R1 & R2 end

全互联拓扑

NVL72 内部 72 颗 GPU全互联——不是分组互联,是真正的全连接:

1
2
3
4
每颗 B200:18 条 NVLink 5 → 18 GB/s × 100 = 1.8 TB/s 单卡
72 GPU × 1.8 TB/s = 130 TB/s 总聚合带宽
任意两颗 GPU 1-2 跳到达
NVLink 域内 GPU 数:72(之前 DGX H100 是 8)

对程序员意义:72 颗 GPU 可以像一颗大 GPU 一样编程——大模型可以张量并行(TP)跨 72 卡而不需要切到流水并行(PP),这极大简化了训练。

为什么是 72 而不是 64

NVL72 = 72 GPU = 18 Compute Tray × 4 GPU/Tray = 9 NVSwitch Tray 配比。

大模型训练有几种并行方式:

1
2
3
4
5
Tensor Parallel (TP):模型切到几个 GPU 共同算同一层 → 通信最重
Pipeline Parallel (PP):模型切到几个 GPU 算不同层 → 通信中
Data Parallel (DP):每 GPU 一份模型副本 → 通信轻
Sequence Parallel (SP):序列长度切片
Expert Parallel (EP):MoE 模型的专家切分

72 = 8 × 9 / 9 × 8 / 6 × 12 等,便于切多种 TP × DP × PP 组合。对 GPT-4 / Llama-3 / DeepSeek 等大模型规模刚好合适

NVL72 的”伪 NUMA”

72 颗 GPU 在同一 NVLink Domain,但距离仍有差异

1
2
3
同 Compute Tray 内 2 颗 GPU:1 跳,~700 ns 延迟
跨 Tray 经 1 NVSwitch: 2 跳,~1 μs
跨 Tray 多 NVSwitch: 2 跳,但带宽分摊

这本质上是机柜级 NUMA——和第二章讲的多 socket NUMA 是同一个问题。

NVL72 的电与冷

整柜液冷

1
2
3
NVL72 一柜 130 kW
风冷热密度上限约 30-40 kW/柜
→ 必须液冷

NVL72 默认配 冷板式液冷——CPU/GPU 上盖装冷板,循环水带走 90% 热量;剩余 10% 由风扇辅助。

整柜 DC 48V Bus Bar

不再每台服务器单独 PSU。整柜共用一根 48V DC bus bar,单台 Compute Tray 通过 DC-DC 取电:

  • 减少 AC-DC 转换损耗
  • 节省 PSU 物理空间
  • 更高密度

第一章讲过的 OCP / 天蝎机柜也是这条路——NVL72 是它的”AI 极致版”。

整柜重量

1
2
3
4
NVL72 整柜:~1.5-1.7 吨
普通机柜:~500 kg
→ 楼板承重要预留
→ 不能用普通货梯(运输前要拆,到现场组装)

NVL72 一柜 72 GPU 满足不了 GPT-4 量级训练(要几千卡)。多柜互联可以用:

方案 1:Rubin Ultra NVL576(Kyber rack)

NVIDIA 后续 Rubin Ultra(2026-2027 路线)的目标平台代号 Kyber rack

1
2
3
4
NVL576 = 576 GPU 在单一 NVLink 域(跨柜)
通过外置 NVLink Switch Tray 把多个 Rubin Ultra 机柜聚合
单机柜功率 >500 kW 量级,需要 800V HVDC 数据中心标准
AVL(Approved Vendor List)属 NVIDIA Partner-Confidential

待补充:NVL576 具体路由拓扑、量产时间、实际部署案例——以 NVIDIA 正式发布为准。NDA 细节走 NVIDIA Partner Portal。

方案 2:NVL72 + InfiniBand(当下主流)

每 72 GPU 一柜走 NVLink,柜与柜之间走 InfiniBand NDR 400G / XDR 800G——下一篇展开。

1
2
3
NVLink 5 带宽:     1.8 TB/s    (柜内)
InfiniBand NDR: 单端口 400 Gbps(柜间,慢一个数量级)
InfiniBand XDR: 单端口 800 Gbps

软件层面用 NCCL 自动选拓扑——TP 留在柜内、DP 跨柜。配合 NVIDIA Quantum-2/Quantum-3 交换机的 SHARPv3,AllReduce 可以在交换机内完成,进一步减少柜间流量。

集群网络的”两段论”

graph TB
  subgraph SCALE_UP["Scale-Up(紧耦合)"]
    direction TB
    NVL[NVLink Fabric
1.8 TB/s, 1 us
72-576 GPU 全互联] end subgraph SCALE_OUT["Scale-Out(松耦合)"] direction TB IB[InfiniBand / RoCE
400-800 Gbps, 5-10 us
万级 GPU 集群] end NVL -.- IB

Scale-Up:少数 GPU 紧耦合(NVLink)
Scale-Out:大量 GPU 松耦合(InfiniBand / 以太网)

xAI Colossus、Meta 24K H100 集群、字节跳动等大集群都是这种”NVL 单元 × N 个”的设计。

AMD/Intel/Broadcom/Cisco 等 8 家厂商在 2024 年成立 UALink Consortium

  • 目标:开放、跨厂家的 GPU↔GPU 互联
  • 物理层基于以太网 PHY
  • 类似 NVLink 但不绑定 NVIDIA
  • 1.0 规范 2024 年发布,产品化预计 2025-2026

UALink 的问题:

  • 起步晚 NVLink 8 年
  • 软件栈(CCL / NCCL 等价物)跟不上
  • 第一代实测带宽和延迟仍逊于 NVLink 5

短期内 NVL72 的护城河非常深,UALink 主要在 AMD MI 系列集群上落地。

待补充:UALink 1.0 实际产品时间表。

性能查询

1
2
3
4
5
6
7
8
9
10
11
12
# NVLink 拓扑(DGX/HGX 上看)
nvidia-smi topo -m
# 输出矩阵显示每对 GPU 的连接方式:
# X = self, NV1-18 = NVLink 链路数, PXB/PIX = PCIe, SYS = 跨 NUMA

# NVLink 实际带宽(单卡视角)
nvidia-smi nvlink -s # 链路状态
nvidia-smi nvlink -gt d # 数据吞吐统计

# NCCL 测试(实际多卡通信带宽)
all_reduce_perf -b 1G -e 16G -f 2 -g 8
# 看 algbw 和 busbw 数字

一张总结

graph TB
  L1[单卡 SM 内部
shared memory 几 TB/s] L2[单卡内 SM 之间
L2 + HBM] L3[同机 8 卡 NVLink
1.8 TB/s] L4[NVL72 机柜
72 卡 NVLink Fabric] L5[NVL576 多柜
外置 NVLink Switch] L6[InfiniBand/RoCE
跨数百柜 万卡] L7[多数据中心
WAN / 专线] L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7

每跨一层带宽掉 5-10 倍,延迟涨 10 倍——AI 集群设计的核心哲学就是让最重的通信尽量留在低层

小结

  • NVLink 是为 GPU↔GPU 通信设计的点对点高速互联
  • NVSwitch 让 8/16/72 颗 GPU 全互联
  • DGX 是整机,HGX 是基板,NVL72 是整机柜(72 GPU 全互联)
  • NVL72 = 130 kW 液冷 + 1.5 吨重 + 130 TB/s 总带宽
  • 大模型训练用”NVLink 内紧耦合 + InfiniBand 外松耦合”的两段架构
  • UALink 是开放替代,但生态仍在追赶

下一篇讲 AMD Instinct 系列——目前 NVIDIA 之外最强的 AI GPU。