【中国观察北京时间2026年08月16日】
在现代 AI 服务器中,GPU 往往是最受关注的计算部件,但决定多 GPU 系统能否真正发挥性能的,并不只有 GPU 本身。CPU、系统内存、GPU、NVMe SSD、高速网络适配器以及 PCIe Switch 之间如何连接,同样会直接影响数据传输效率、GPU 利用率和分布式训练性能。
其中,PCIe(Peripheral Component Interconnect Express)是整个服务器 I/O 架构中最重要的高速互连技术之一。
理解 PCIe 在 AI 服务器中的作用,不能简单地把它理解成“GPU 插槽”。在一台多 GPU AI 服务器里,PCIe 实际上承担着设备发现、配置、内存映射以及高速数据传输等一系列基础工作。更重要的是,PCIe 设备之间究竟采用怎样的拓扑结构,会决定不同 GPU、CPU、内存、网络设备和存储设备之间的数据究竟要经过多少级交换、共享多少上行带宽,以及哪些通信路径可能成为瓶颈。
因此,多 GPU 系统性能出现差异时,不能只看 GPU 型号和数量。很多时候,真正决定系统表现的,是 GPU 背后的 PCIe 拓扑。
一、PCIe 首先解决的是“设备如何连接到 CPU 和系统内存”
传统服务器中的 CPU 并不是直接通过一条无限带宽的通道连接所有外设。
现代 CPU 通常提供若干 PCIe Root Complex 和 PCIe Lane。GPU、NVMe SSD、网络适配器等设备则通过这些 PCIe 链路连接到 CPU 所在的平台。
PCIe 使用点对点串行链路,每条链路由一个或多个 Lane 组成,例如 x4、x8、x16。
以常见的 PCIe 4.0 为例,x16 链路的理论单向有效带宽约为 31.5 GB/s;PCIe 5.0 x16 则约为 63 GB/s。实际应用中的有效吞吐量还会受到协议开销、设备控制器、内存系统以及软件栈等因素影响。
因此,当一块 GPU 以 PCIe x16 连接 CPU 时,可以把它理解为 GPU 与服务器 I/O 系统之间拥有一条相对宽的高速通道。
但问题很快就出现了:
如果服务器里面安装了 4 块、8 块甚至更多 GPU,这些 GPU 的高速通道从哪里来?
这就进入了 PCIe 拓扑问题。
二、多 GPU 服务器为什么需要 PCIe Switch
CPU 能够直接提供的 PCIe Lane 数量是有限的。
如果一台服务器只有一块 GPU,GPU 可以直接连接到 CPU 的 PCIe Root Complex。
但如果服务器需要连接大量 GPU、NVMe SSD、SmartNIC、HBA 等设备,仅依靠 CPU 自身提供的 PCIe Root Ports 往往无法满足物理连接需求。
这时候就可能引入 PCIe Switch。
PCIe Switch 的作用可以简单理解为“扩展和组织 PCIe 网络”。
例如:
CPU
↓
PCIe Root Complex
↓
PCIe Switch
├── GPU 0
├── GPU 1
├── GPU 2
└── GPU 3
这样的结构允许多个设备通过一个 PCIe Switch 连接到 CPU。
但这里存在一个非常重要的问题:
设备数量增加,并不意味着总带宽也按照设备数量无限增加。
假设 PCIe Switch 下方连接了多块 GPU,而 Switch 到 CPU 之间只有一条 PCIe x16 上行链路,那么这些 GPU 在访问 CPU、系统内存或者其他上游设备时,可能需要共享这条上行链路。
这就是典型的 oversubscription(超额订阅)。
如果所有 GPU 同时产生大量数据传输,上行链路就可能成为瓶颈。
因此,AI 服务器设计者不仅要看“有多少个 PCIe 插槽”,还必须分析整个 PCIe 树状结构中的上行链路宽度以及设备之间的共享关系。
三、PCIe 拓扑为什么会影响 GPU 之间的通信
多 GPU AI 训练最重要的问题之一,就是 GPU 之间需要频繁交换数据。
例如深度学习训练过程中,多个 GPU 可能分别计算不同的数据批次,然后进行梯度同步。
典型的 AllReduce 操作就需要大量 GPU-to-GPU 通信。
如果两个 GPU 之间存在高速互联,例如某些 NVIDIA GPU 平台中的 NVLink/NVSwitch,那么通信路径可以完全不同于传统 PCIe P2P。
如果两个 GPU 没有高速 GPU 专用互联,就可能需要通过 PCIe 路径进行数据交换。
这时候 PCIe 拓扑就非常重要。
例如:
GPU 0 → PCIe Switch → GPU 1
与:
GPU 0 → PCIe Switch → CPU Root Complex → 另一条 PCIe 路径 → GPU 1
两者虽然最终都能够完成数据传输,但经过的组件、链路数量以及共享资源可能不同。
在大型 AI 服务器中,这种差异可能直接体现在 GPU-to-GPU bandwidth、通信延迟以及训练过程中 GPU 的实际利用率上。
四、必须区分 PCIe 和 GPU 专用互联
这里有一个非常容易出现的技术误区。
NVLink 并不是“通过 PCIe 4.0 的物理层实现的 GPU 直连技术”。
NVLink 是独立于 PCIe 的高速 GPU 互连技术,拥有自己的链路和协议。
在采用 NVLink 的系统中,PCIe 与 NVLink 通常承担不同角色。
可以简单理解为:
PCIe 更像服务器级 I/O 主干。
NVLink 则更偏向 GPU 计算设备之间的高速互联。
例如一台高端 AI 服务器可能同时存在:
CPU ↔ PCIe ↔ GPU
以及:
GPU ↔ NVLink ↔ GPU
甚至:
GPU ↔ NVLink ↔ NVSwitch ↔ GPU
这意味着一台服务器中的 GPU 之间并不是所有通信都必须经过 PCIe。
对于大规模 GPU 训练,这种区别非常重要。
如果 GPU 之间拥有高速专用互联,那么大量模型并行、张量并行或者梯度通信可以通过专用 GPU fabric 完成,而 PCIe 更多承担 GPU 与 CPU、NVMe、NIC 等外围设备之间的连接任务。
五、PCIe 拓扑不仅决定 GPU 之间的距离,还决定 GPU 与 NIC 的关系
AI 集群训练中还有一个非常重要的设备:
高速网络适配器。
例如 100GbE、200GbE、400GbE 甚至更高速率的 Ethernet/RoCE 网络设备,或者 InfiniBand HCA。
在分布式训练环境中,一台服务器里的 GPU 需要与其他服务器的 GPU 交换大量数据。
这时候数据路径可能类似:
GPU
↓
PCIe
↓
NIC
↓
高速网络
↓
另一台服务器 NIC
↓
PCIe
↓
GPU
因此,PCIe 拓扑不仅影响 GPU 与 CPU 的关系,也影响 GPU 与 NIC 的关系。
如果某块 GPU 与某块高速 NIC 位于同一个 PCIe Root Complex 或具有更直接的 PCIe 路径,那么 GPU 发往网络的数据可能具有更低的访问开销。
反过来,如果 GPU 与 NIC 分属不同的 PCIe Root Complex,数据可能需要经过 CPU 或其他桥接路径,具体代价取决于服务器平台的 NUMA 和 I/O 架构。
这也是为什么高性能 AI 服务器经常需要同时考虑:
GPU 拓扑
CPU NUMA 拓扑
PCIe Root Complex
PCIe Switch
NIC 位置
NVLink/NVSwitch
以及 GPU 与 CPU 的内存亲和性。
这些因素实际上构成了一张完整的硬件通信地图。
六、NUMA 会进一步放大 PCIe 拓扑的重要性
在双路甚至多路 CPU 服务器中,问题会更加复杂。
现代服务器通常采用 NUMA(Non-Uniform Memory Access)架构。
简单来说,某个 CPU 访问“本地”内存和访问另一个 CPU 所连接的内存,其访问路径和延迟并不完全相同。
例如:
CPU 0 → GPU 0
可能是相对直接的本地 PCIe 路径。
而:
CPU 1 → GPU 0
则可能需要跨越 CPU 间互连。
如果 GPU、CPU、NIC 和内存没有合理匹配,理论上非常强大的 GPU 也可能因为数据供给路径不理想而无法发挥全部性能。
因此,高性能 AI 服务器通常会强调 GPU 的 CPU affinity、NUMA affinity 以及 PCIe locality。
这也是专业性能测试中经常出现 nvidia-smi topo -m 等拓扑信息的原因之一。
它们真正想回答的问题不是“GPU 有没有安装成功”,而是:
这些 GPU 彼此之间究竟通过什么路径连接?
七、PCIe Gen4、Gen5 和 Gen6 的意义是什么
随着 AI 加速器性能不断提高,GPU 对数据传输带宽的需求也在增长。
PCIe 每一代都会提高单 Lane 的传输速率。
大致可以理解为:
PCIe 3.0 → 约 8 GT/s
PCIe 4.0 → 约 16 GT/s
PCIe 5.0 → 约 32 GT/s
PCIe 6.0 → 约 64 GT/s
在 x16 链路下,理论有效单向带宽也随之大幅提高。
因此,从 PCIe 4.0 升级到 PCIe 5.0,并不仅仅意味着“数字更大”,它可以让 GPU、NIC、NVMe 等高速设备拥有更大的 I/O 带宽。
但这里仍然存在一个重要原则:
链路速度提高,不等于整个系统性能一定同比提高。
如果真正的瓶颈位于 GPU 内存、CPU 内存、PCIe Switch 上行链路、网络或者 GPU 专用互联,那么单纯升级 PCIe 代际可能不会带来对应幅度的性能提升。
AI 服务器优化因此不能只追求 PCIe Gen5 或 Gen6,而应该寻找整个数据路径中的最窄环节。
八、GPU 不一定需要“满速 PCIe”才能发挥全部性能
另一个常见误解是:
“AI GPU 必须运行在 PCIe x16,否则性能就会大幅下降。”
实际上并不能简单这么判断。
如果某个 AI 工作负载的大部分通信发生在 GPU 显存内部,或者多个 GPU 之间主要通过 NVLink/NVSwitch 交换数据,那么 PCIe 链路可能不是主要瓶颈。
反过来,如果应用需要频繁进行:
GPU ↔ CPU 内存
GPU ↔ NVMe
GPU ↔ NIC
GPU ↔ GPU
等数据交换,那么 PCIe 带宽的重要性就会显著提高。
因此,PCIe x8 与 x16 的实际性能差异必须结合具体工作负载判断,而不能只根据接口规格得出结论。
九、GPUDirect RDMA 为什么让 PCIe 拓扑更加重要
在高性能 AI 集群中,GPU 与网络之间的数据传输效率非常重要。
GPUDirect RDMA 等技术可以减少传统数据路径中的 CPU 内存中转,使网络设备能够更加直接地访问 GPU 内存。
这类技术的价值在于减少不必要的数据复制和 CPU 参与。
但与此同时,GPU 与 NIC 的物理拓扑就更加重要。
如果 NIC 与 GPU 之间拥有合理的 PCIe locality,那么数据路径更加高效。
因此,在高端 AI 服务器设计中,NIC 并不是“随便插进一个 PCIe 插槽”就可以。
工程师通常需要根据 GPU、NIC、CPU Socket、PCIe Switch 和 NUMA 节点之间的关系进行规划。
十、NVMe 存储同样受到 PCIe 拓扑影响
AI 训练不仅需要 GPU,还需要大量数据。
训练数据通常存放在 NVMe SSD、网络存储或者并行文件系统中。
如果多个高速 NVMe SSD 与大量 GPU 同时连接到同一个 PCIe Switch,而 Switch 到 CPU 的上行带宽有限,那么多个设备同时工作时就可能发生竞争。
例如:
NVMe 0 ─┐
NVMe 1 ─┤
GPU 0 ──┤
GPU 1 ──┤ → PCIe Switch → PCIe x16 → CPU
GPU 2 ──┤
GPU 3 ──┘
从设备数量来看,这套系统可能拥有非常高的理论总带宽。
但真正向 CPU 或内存方向汇聚时,所有设备却共享有限的上行链路。
这就是为什么专业服务器规格不能只看“有几个 PCIe 插槽”,而必须进一步查看 PCIe block diagram,也就是整机的 PCIe 拓扑图。
十一、为什么 AI 服务器经常需要 PCIe Switch,而普通电脑不那么明显
普通桌面电脑通常只需要:
一块 GPU
几块 NVMe SSD
一个网络接口
少量 USB 和其他扩展设备。
因此,CPU 自带的 PCIe Root Complex 通常已经能够满足需求。
AI 服务器则完全不同。
一台服务器可能同时拥有:
4~8 个甚至更多 GPU
多块 NVMe SSD
高速 NIC
管理控制器
存储控制器
其他加速卡
这些设备产生的 I/O 需求远远超过普通 PC。
因此,PCIe Switch 成为了大型 AI 服务器中非常重要的基础设施。
它的意义并不是简单“增加插槽”,而是重新组织整个 I/O fabric,使大量高速设备能够连接到有限数量的 CPU PCIe Root Complex。
十二、真正专业的 PCIe 拓扑分析要看什么
如果需要评估一台 AI 服务器的 PCIe 设计,仅仅查看产品说明书上的“PCIe 5.0 x16”远远不够。
至少应该关注以下几个层面。
第一是 GPU 到 CPU 的连接关系。
需要确认每块 GPU 属于哪个 CPU Socket,以及对应哪个 NUMA Node。
第二是 GPU 到 GPU 的连接关系。
需要区分 PCIe P2P、NVLink、NVSwitch 等不同路径。
第三是 GPU 到 NIC 的关系。
尤其需要确认高速 NIC 与 GPU 是否具有良好的 PCIe locality。
第四是 PCIe Switch 的层级。
需要确认哪些设备共享同一个 Switch,以及 Switch 到 CPU 的上行链路到底是 x16、x32 还是其他配置。
第五是 PCIe Lane 分配。
需要确认多个设备同时工作时是否会发生 Lane bifurcation 或带宽共享。
第六是 IOMMU、ACS、PCIe P2P 等平台设置。
这些功能可能影响设备之间的直接访问路径以及 DMA 行为。
第七是实际软件栈。
CUDA、NCCL、驱动、RDMA、存储栈等软件都会影响硬件拓扑最终能够获得多少性能。
因此,真正的 AI 服务器性能分析往往是硬件拓扑和软件通信栈共同分析,而不是简单比较 PCIe 版本。
十三、多 GPU 系统真正依赖的是“拓扑”,而不仅仅是“PCIe”
说多 GPU 系统高度依赖 PCIe 拓扑,并不是说所有 GPU 间通信都必须通过 PCIe。
更准确的说法是:
PCIe 是多 GPU 服务器连接 GPU 与 CPU、内存、存储和网络设备的重要基础设施,而 PCIe 拓扑决定了这些设备之间的数据路径、带宽共享关系和 NUMA locality。
与此同时,现代高端 AI 服务器还会使用 NVLink、NVSwitch、Infinity Fabric 等专用互联技术。
因此,一个真正高性能的 AI 计算节点通常是多个互联系统共同工作的结果:
CPU 与 GPU 之间依赖 PCIe 或平台专用 I/O 结构;
GPU 与 GPU 之间可能依赖 NVLink、NVSwitch 或其他高速互联;
GPU 与 NIC 之间可能利用 PCIe 和 GPUDirect RDMA;
服务器与服务器之间则依赖 InfiniBand、RoCE 或高速 Ethernet 网络。
这些链路共同构成 AI 服务器的数据传输体系。
十四、为什么“八块 GPU”不等于“八倍性能”
这是理解 AI 服务器最重要的一点。
如果一台服务器拥有 8 块 GPU,理论计算能力可能非常强大。
但如果数据无法及时进入 GPU,或者 GPU 之间通信效率低,那么这些 GPU 就可能长期处于等待状态。
例如:
GPU 计算速度很快,但 PCIe 带宽不足;
GPU 之间需要频繁通信,但没有高速 GPU fabric;
NIC 与 GPU 拓扑不合理;
多个 GPU 共享同一条 PCIe 上行链路;
CPU 与 GPU 处于不同 NUMA 节点;
NVMe 数据读取成为输入瓶颈。
这些问题都可能造成 GPU utilization 下降。
因此,AI 服务器设计的目标并不是简单地堆积更多 GPU,而是让计算、内存、I/O、网络和 GPU 间通信形成平衡的数据通路。
十五、从 PCIe 拓扑看 AI 服务器设计,本质是在设计“数据高速公路”
如果把 GPU 看成计算工厂,那么 PCIe、NVLink 和网络互联就像连接这些工厂的高速公路。
GPU 算力越强,意味着工厂的生产能力越高。
但如果道路狭窄,原材料进不来,成品也运不出去,那么工厂再强大也无法持续满负荷运行。
PCIe 的意义正是在这里体现出来。
它不是 AI 计算本身,却决定了大量关键数据如何进入和离开 GPU。
而 PCIe 拓扑则进一步决定:
数据走哪条路;
需要经过多少级交换;
哪些链路需要共享;
哪个 CPU 负责处理;
哪个 NUMA 节点距离最近;
哪个 NIC 最适合服务某块 GPU;
哪些设备可能形成带宽瓶颈。
对于普通 PC 用户,PCIe 插槽可能只是安装显卡和 SSD 的接口。
但对于一台拥有多块 GPU 的 AI 服务器,PCIe 已经成为整个 I/O 架构的一部分。
真正专业的服务器设计,不是简单地问“PCIe 是 Gen4 还是 Gen5”,而应该进一步追问:
每块 GPU 连接在哪里?
每个 GPU 到 CPU 的路径是什么?
GPU 与 GPU 之间通过什么互联?
GPU 与 NIC 是否具有良好的 locality?
PCIe Switch 的上行链路是否会成为瓶颈?
多个 GPU 同时进行 DMA、存储访问和网络通信时,哪些链路会发生竞争?
把这些问题全部放到一起,才能真正理解为什么多 GPU AI 服务器高度依赖 PCIe 拓扑。
最终决定 AI 服务器性能的,从来不是某一个单独的硬件参数,而是整个系统的数据流是否顺畅。GPU 提供计算能力,内存提供数据,PCIe 和专用互联负责搬运数据,而网络则把单机计算能力进一步扩展到整个集群。
当 GPU 算力不断提高之后,系统设计的重点也会越来越从“计算单元有多快”,转向“数据能否以足够快的速度到达计算单元”。
这正是 PCIe 拓扑在现代 AI 服务器中越来越重要的根本原因。
PCIe 在 AI 服务器中扮演什么角色,多 GPU 系统为什么高度依赖 PCIe 拓扑
喜欢这篇报道?
使用下面的功能,方便以后继续阅读和分享 MNewsTV
关于文章收藏
收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。
删除收藏请进入「我的收藏」进行管理。
分享 Facebook | X | WhatsApp | LinkedIn
捐助(Paypal): https://www.paypal.me/observeccp 订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP