跳到主要内容

PCIe 总线在 AI 系统中的角色

PCIe(Peripheral Component Interconnect Express)是 AI 服务器中连接处理器、加速器和网卡的通用高速总线。它既是 GPU 与主机 CPU 通信的唯一标准路径,也是 NVLink、CXL 等专用互联的底层物理层基础。在无高速专用互联的配置中,PCIe 同时承担 GPU 间通信的兜底角色,但带宽远低于 NVLink,是大规模训练场景下最常见的性能瓶颈之一。

代际带宽演进

版本发布年单 Lane 带宽(双向)x16 双向总带宽主要应用场景
PCIe 3.02010~2 GB/s~31.5 GB/sV100 PCIe,旧世代 GPU
PCIe 4.02017~4 GB/s~63 GB/sA100 PCIe,H20,ConnectX-6 NIC
PCIe 5.02019~8 GB/s~126 GB/sH100 PCIe,B200 PCIe,ConnectX-7 NIC
PCIe 6.02022~16 GB/s~256 GB/s下一代(规范已定,待商用)

注:带宽数字为理论峰值双向,实际可用带宽因协议开销约低 2-5%。x16 指 16 条 Lane 并行。

在 AI 系统中的位置

PCIe 在 AI 服务器中承担以下几类角色:

CPU ↔ GPU 数据传输

主机内存(DRAM)到 GPU 显存(HBM)的数据搬运必须经过 PCIe。典型操作包括:模型权重首次加载、输入 batch 传输、KV Cache 换出。PCIe 带宽(63-126 GB/s)远低于 HBM 带宽(3-6 TB/s),因此推理场景下"首 Token 之前的权重加载"和"KV Cache 卸载到 CPU 内存"是主要延迟来源。

GPU ↔ NIC(RDMA 直传)

GPUDirect RDMA 允许网卡(NIC)直接读写 GPU 显存,数据路径不经过 CPU 和系统内存。整个 DMA 传输仍走 PCIe 总线,因此 PCIe 带宽是 GPUDirect RDMA 实际吞吐的上界。H100 配合 ConnectX-7(PCIe 5.0)时,GPUDirect RDMA 单端口吞吐可接近 400 Gbps(~50 GB/s),此时 PCIe 5.0 的 126 GB/s 留有充足余量。

GPU ↔ GPU(无专用互联时的兜底路径)

无 NVLink/NVSwitch 配置(如 H100 PCIe 版 8 卡服务器通过 PCIe Switch 连接)时,GPU 间通信经由 PCIe Switch 路由:

GPU A -> PCIe Switch -> GPU B

此时 AllReduce 可用带宽受限于 PCIe Switch 上行/下行带宽之和,远低于 NVLink 方案。实测 8 卡 PCIe 配置下的 AllReduce BusBW 约为 NVLink 方案的 1/8 到 1/10。

互联方式双向带宽(每 GPU)典型单跳延迟适用场景
PCIe 5.0 x16126 GB/s~1-3 usCPU-GPU,GPU-NIC,无 NVLink 时的 GPU 间
PCIe 4.0 x1663 GB/s~1-3 usA100 PCIe,老一代 GPU-NIC
NVLink 3.0(A100)600 GB/s~1-2 us节点内 GPU-GPU(DGX A100)
NVLink 4.0(H100)900 GB/s~1-2 us节点内 GPU-GPU(DGX H100)
NVLink 5.0(B200)1800 GB/s<1 us节点内 GPU-GPU(NVL72)

带宽倍数关系:NVLink 4.0 带宽约为 PCIe 5.0 的 7 倍;NVLink 5.0 约为 PCIe 5.0 的 14 倍。这一差距直接决定了 TP(张量并行)的性能上界——TP 组必须落在 NVLink 域内才能发挥应有效率。

GPUDirect 技术

GPUDirect RDMA

GPUDirect RDMA 使 NIC 通过 PCIe 对等传输(Peer-to-Peer DMA)直接访问 GPU 显存,消除了传统路径中的两次 CPU 内存拷贝:

  • 传统路径:GPU 显存 -> CPU 内存(PCIe)-> NIC DMA(PCIe)-> 网络
  • GPUDirect 路径:GPU 显存 -> NIC DMA(PCIe,直接对等)-> 网络

实现条件:NIC 和 GPU 需在同一 PCIe Root Complex(或通过支持 ACS 的 PCIe Switch 互联)。延迟优势在小消息时尤为显著(减少 CPU 软中断和内存拷贝的固定开销)。

GPUDirect Storage

类似机制,允许 NVMe SSD 控制器直接向 GPU 显存 DMA,用于大模型权重从本地存储直接加载,绕过 CPU。

CXL 是基于 PCIe 5.0 物理层构建的新型高一致性互联协议,分三个子协议:

  • CXL.io:功能等同于 PCIe,用于设备发现和配置
  • CXL.cache:加速器对主机内存的缓存一致性访问
  • CXL.mem:主机对加速器本地内存(如 HBM)的直接内存语义访问
CXL 版本物理基础关键能力AI 相关性
CXL 1.xPCIe 5.0CPU-加速器一致性互联简化数据共享,减少显式拷贝
CXL 2.0PCIe 5.0内存池化、Switch 拓扑GPU 显存容量扩展(HBM 不足时接 CXL 内存池)
CXL 3.0PCIe 6.0多层 Switch、P2P多 GPU 共享内存池(研究阶段)

CXL 在 AI 互联中目前仍处于早期落地阶段,主要价值在于解决单 GPU 显存容量瓶颈,而非替代 NVLink 做高带宽 GPU-GPU 通信。

在大模型训练中的局限

PCIe 在训练系统中的核心局限体现在以下场景:

AllReduce 瓶颈(8 卡无 NVSwitch 服务器)

典型拓扑:8 卡 GPU 通过 2 个 PCIe Switch 分为两组,两个 Switch 再通过 PCIe Retimer 或 PLX 芯片上联。跨组 GPU 间 AllReduce 的可用带宽受限于 Switch 上行口,远低于 NVLink。实测 AllReduce BusBW 约 30-50 GB/s(vs NVLink 的 400-900 GB/s)。

TP 规模限制

由于带宽不足,PCIe 配置下 TP 通常只能在 4 卡以内有效(TP=8 时 AllReduce 耗时过长)。更大规模的张量并行依赖 NVLink 域。

解决思路

  • 节点内:用 NVLink + NVSwitch 替代 PCIe 做 GPU-GPU 通信(PCIe 仅保留 CPU-GPU 通路)
  • 节点间:用 InfiniBand 或 RoCE 承担跨节点 AllReduce,避开 PCIe 上行带宽瓶颈
  • 模型分配:将 TP 组约束在 NVLink 域内,DP/PP 跨 PCIe/IB 运行