第 3 章
GPU 服务器与互连
第 1 章讲了为什么 AI 要用 GPU。这一章往外扩一圈:一张卡不够用的时候,多张卡放进一台服务器怎么连,服务器又怎么组成集群。
GPU 代际
NVIDIA 数据中心 GPU 大约两年一代,每一代都用一位科学家命名:
| 架构 | 代表产品 | 发布 | AI 相关的主要变化 |
|---|---|---|---|
| Volta | V100 | 2017 | 首次加入 Tensor Core |
| Ampere | A100 | 2020 | 支持 TF32、BF16;推出 MIG(一卡切多卡);NVLink 3,每卡 600 GB/s |
| Hopper | H100、H200 | 2022 | FP8 与 Transformer Engine;NVLink 4,每卡 900 GB/s;H200 显存增至 141 GB HBM3e |
| Blackwell | B200、GB200 | 2024 | FP4;两颗芯片封装成一个 GPU;NVLink 5,每卡 1.8 TB/s |
| Blackwell Ultra | B300、GB300 | 2025 | 更大显存、更强 FP4 推理 |
| Rubin | Vera Rubin | 2026 | 已发布,计划 2026 年下半年交付 |
除了这些训练主力,还有偏推理和图形的产品线,比如 L4、L40S、RTX PRO 系列,功耗低、单价低,适合推理、视频处理和虚拟桌面。
名字里带 G 的(GH200、GB200)是 Grace 超级芯片:NVIDIA 自研的 Arm 架构 CPU Grace,和 GPU 放在同一块板上,用 NVLink-C2C 以 900 GB/s 直连,比走 PCIe 快得多。
HBM 与 GDDR
数据中心 GPU 用 HBM(高带宽显存):把多层 DRAM 芯片堆叠起来,和 GPU 芯片封装在一起,用极宽的总线相连。H100 SXM 的 HBM3 带宽约 3.35 TB/s。
消费级显卡用 GDDR,颗粒焊在 GPU 周围的电路板上,便宜但带宽低得多。实验室的 RTX 3090 用的是 24 GB GDDR6X,带宽约 936 GB/s,不到 H100 的三分之一。第 1 章说过,大模型推理的 decode 阶段瓶颈就在显存带宽,所以 HBM 是数据中心卡贵的主要原因之一。
SXM 与 PCIe 两种形态
同一代 GPU 通常有两种形态:
- SXM:没有独立的卡形态,直接装在专用主板(HGX 基板)的插座上,功耗上限高(H100 SXM 约 700 W),完整支持 NVLink 全互连;
- PCIe:普通扩展卡,插在服务器的 PCIe 插槽里,功耗低(H100 PCIe 约 350 W),兼容普通服务器,NVLink 只能用桥接器两两相连。
大规模训练基本都用 SXM;推理和中小规模场景用 PCIe 卡更灵活。
GPU 之间怎么连
多卡训练每一步都要同步梯度(第 2 章的 all-reduce),大模型的张量并行更是每一层都要通信。GPU 之间的连接方式直接决定多卡能不能跑满。
PCIe
PCIe 是服务器里的通用总线,显卡、网卡、NVMe 硬盘都挂在上面。PCIe 5.0 x16 双向合计约 128 GB/s(4.0 是一半)。两张卡通过 PCIe 通信,要经过 PCIe 交换芯片或 CPU;如果两张卡分别挂在两颗 CPU 下面,数据还要穿过 CPU 之间的互连,更慢。
NVLink
NVLink 是 NVIDIA 专门做的 GPU 间直连链路。H100 每卡 NVLink 带宽 900 GB/s,大约是 PCIe 5.0 x16 的 7 倍,而且不经过 CPU。
NVSwitch
NVLink 是点对点的,一张卡的链路数有限,卡一多就没法两两直连。NVSwitch 是一颗交换芯片,所有 GPU 的 NVLink 都接到 NVSwitch 上,由它转发。这样 8 张卡里任意两张之间都能跑满带宽(全互连、无阻塞)。DGX H100 里有 4 颗 NVSwitch。
NVSwitch 机器上还要运行 Fabric Manager 服务来配置 NVSwitch 的路由,没起来的话 GPU 之间的 NVLink 用不了。这属于运维细节,知道有这回事就行。
从一台机器到一整个机柜
Blackwell 这一代把 NVLink 交换做成了独立的交换机托盘。GB200 NVL72 在一个机柜里放 36 颗 Grace CPU 和 72 颗 Blackwell GPU,72 张卡全部在同一个 NVLink 域里,相当于一台"机柜级"的大 GPU。
| 方式 | 连接范围 | 带宽(每卡,双向合计) | 特点 |
|---|---|---|---|
| PCIe 5.0 x16 | 一台服务器内 | 约 128 GB/s | 通用,经过 CPU 或 PCIe 交换芯片 |
| NVLink 桥接器 | 两张卡之间 | 依型号而定 | PCIe 卡用,只能两两相连 |
| NVLink + NVSwitch | 一台服务器内(通常 8 卡) | H100 为 900 GB/s | 全互连 |
| NVLink Switch(NVL72) | 一个机柜内(72 卡) | B200 为 1.8 TB/s | 机柜级的 NVLink 域 |
| InfiniBand / 以太网 | 跨服务器 | 每卡一张 400 Gb/s 网卡,双向合计约 100 GB/s | 第 4 章 |
注意最后一行的单位:网卡速率习惯用 Gb/s(比特),NVLink 习惯用 GB/s(字节),差 8 倍。跨机器的带宽比机器内的 NVLink 低一个数量级,这决定了后面怎么切分大模型。
动手看一眼:实验室 3090 的拓扑
实验室那台 4 卡 3090 服务器可以直接观察这些连接方式。30 系消费卡里只有 3090 这一档带 NVLink 接口,而且只支持两张卡之间桥接。
nvidia-smi topo -m
输出是一个矩阵,每个格子表示两张卡之间的连接方式。图例从快到慢大致是:
| 标记 | 含义 |
|---|---|
NV# | 走 NVLink,# 是链路数 |
PIX | 经过最多一个 PCIe 交换芯片 |
PXB | 经过多个 PCIe 交换芯片,不经过 CPU |
PHB | 经过 CPU 的 PCIe 根联合体(PCIe Host Bridge) |
NODE | 同一个 NUMA 节点内,跨了 PCIe 根联合体 |
SYS | 跨 NUMA 节点,要经过 CPU 之间的互连 |
如果装了 NVLink 桥接器,桥接的两张卡之间会显示 NV#,其余的组合显示 PCIe 那几种。矩阵右边还有 CPU Affinity 和 NUMA Affinity 两列,表示每张卡离哪些 CPU 核最近,数据加载进程绑在这些核上效率最高。
一台 AI 服务器里有什么:以 DGX H100 为例
DGX H100 是 NVIDIA 自己的 8 卡旗舰服务器,官方用户指南里的规格:
| 部件 | 配置 |
|---|---|
| GPU | 8 × H100,共 640 GB 显存 |
| GPU 互连 | 4 颗 NVSwitch,每卡 NVLink 900 GB/s |
| CPU | 2 × Intel Xeon 8480C,每颗 56 核 |
| 内存 | 2 TB |
| 计算网络 | 8 张单口 ConnectX-7,每张最高 400 Gb/s(InfiniBand 或以太网) |
| 存储与带内管理网络 | 2 张双口 ConnectX-7 以太网卡 |
| 带外管理 | BMC,1 GbE 网口 |
| 系统盘 | 2 × 1.92 TB NVMe,RAID 1 |
| 数据缓存盘 | 8 × 3.84 TB NVMe,RAID 0 |
| 电源 | 6 × 3.3 kW,4+2 冗余;整机最大约 10.2 kW |
| 尺寸与重量 | 8U,最重约 130 kg |
这张表几乎把后面几章的内容都串起来了:
- 每张 GPU 配一张 400 Gb/s 网卡,专门用于跨机器的 GPU 通信,这是第 4 章"计算网络"和"轨道优化"的基础;
- 存储、管理各有独立的网卡,对应第 4 章的"四张网";
- 本地 NVMe 用 RAID 0 做数据缓存,追求速度不求冗余,数据丢了可以从共享存储重新拉(第 4 章存储部分);
- 10.2 kW 的功耗和 130 kg 的重量,是第 5 章电力、散热和机房承重的问题;
- BMC 是第 7 章带外管理的主角。
DGX、HGX、MGX 和 OEM 服务器
- HGX:NVIDIA 提供的 GPU 基板,上面装好 4 或 8 张 SXM GPU 和 NVSwitch。NVIDIA 把它卖给戴尔、HPE、超微、联想、浪潮等服务器厂商(OEM),由厂商配上 CPU、内存、网卡、机箱做成整机。
- DGX:NVIDIA 自己的整机,同样基于 HGX 基板,外加 NVIDIA 的软件(DGX OS 等)和支持服务,是一种"参考答案"式的完整系统。每一代 GPU 都有对应的 DGX,比如 DGX A100、DGX H100、DGX B200。
- MGX:给服务器厂商的模块化参考设计,方便用 CPU、GPU、DPU 的不同组合快速做出各种服务器。
- DGX Cloud:在云厂商的数据中心里提供 DGX 算力,按需租用。
选 DGX 还是 OEM 的 HGX 服务器,GPU 本身没有区别,差在整机集成、软件栈和采购渠道上。
按用途选硬件
第 1 章训练和推理的区别,落到硬件选择上:
| 场景 | 关心什么 | 常见选择 |
|---|---|---|
| 大模型预训练 | 总算力、GPU 间带宽、网络、存储 | 多台 8 卡 HGX/DGX(SXM),NVLink + InfiniBand,并行文件系统 |
| 微调 | 显存能否装下,单机就够的情况多 | 一台 8 卡服务器或几张卡 |
| 大模型推理 | 显存容量和带宽 | H200、B200 这类大显存卡,一个模型跨几张卡 |
| 中小模型推理 | 单次成本、功耗 | L4、L40S,或用 MIG 把大卡切小 |
| 数据处理与分析 | 数据吞吐 | GPU + RAPIDS |
| 边缘推理 | 体积、功耗 | Jetson |
| 虚拟桌面、图形 | 图形能力、虚拟化 | L40S、RTX 系列 + vGPU |
估算显存的办法第 1 章讲过:推理约为"参数量 × 每个参数的字节数",训练按每个参数约 16 字节起步。先算装不装得下,再谈快不快。
从一张卡扩展到 SuperPOD
扩展有两个方向:
- 纵向扩展(scale up):让单个节点更强,一台机器里放更多卡,用 NVLink 连起来。NVL72 把这个方向推到了一整个机柜。
- 横向扩展(scale out):加更多节点,用 InfiniBand 或以太网连起来。
两者的带宽差一个数量级,所以大模型训练会按带宽分配通信:通信最频繁的张量并行(把一层的矩阵切到多张卡上)放在 NVLink 域内;流水线并行(按层切分)和数据并行(每组卡处理不同的数据,定期同步梯度)跨节点,走网络。
规模上大致是这样一条路径:
- 单卡:开发调试、小模型;
- 单机多卡:一台 8 卡服务器,NVLink 全互连;
- 多机集群:多台服务器通过高速网络组成集群,需要共享存储和调度系统;
- SuperPOD:NVIDIA 的大规模集群参考架构。以 H100 版本为例,以 32 台 DGX 为一个可扩展单元(SU),计算、存储、管理网络和软件都有标准设计,按 SU 为单位往上堆。小一些的参考架构叫 BasePOD。
参考架构的价值在于别人已经验证过这套组合能跑、能跑满,照着搭能少踩很多坑。
一个集群由什么组成
| 组成 | 作用 |
|---|---|
| 计算节点 | 装 GPU 的服务器,真正跑训练和推理的地方 |
| 管理节点(头节点) | 运行集群管理软件、调度系统的控制端(第 6 章) |
| 登录节点 | 用户登录、提交作业的入口,不在这里跑计算 |
| 存储 | 共享的并行文件系统,放数据集、代码、checkpoint(第 4 章) |
| 网络 | 计算、存储、带内管理、带外管理四张网(第 4 章) |
| 软件栈 | 操作系统、驱动、容器运行时、调度系统、监控 |
| 设施 | 供电、散热、机柜、布线(第 5 章) |
设计时的核心考虑是平衡:GPU 最贵,其他部分都要配得上它。网络太慢,GPU 等通信;存储太慢,GPU 等数据;供电散热不够,GPU 降频。任何一个短板都会让最贵的那部分闲着。
速查
| 词 | 一句话 |
|---|---|
| HBM | 堆叠封装的高带宽显存,数据中心卡用 |
| SXM / PCIe | 装在 HGX 基板上的高功耗形态 / 普通插卡形态 |
| NVLink | GPU 间直连,H100 每卡 900 GB/s |
| NVSwitch | 让一台机器内所有 GPU 全互连的交换芯片 |
| NVL72 | 72 卡同处一个 NVLink 域的机柜级系统 |
| Grace | NVIDIA 的 Arm CPU,和 GPU 用 NVLink-C2C 直连 |
| HGX / DGX / MGX | GPU 基板 / NVIDIA 整机 / 模块化参考设计 |
| scale up / scale out | 节点内加卡(NVLink)/ 加节点(网络) |
| SuperPOD / SU | 大规模集群参考架构 / 它的基本扩展单元 |