PCIe 与 NVLink 有什么区别?
PCIe 是连接 CPU、GPU、网卡和存储的通用高速总线,NVLink 是 NVIDIA 面向 GPU 间高速通信的专用互联。本文说明两者的带宽、拓扑、多卡显存、适用任务与服务器选型边界。
- Slug
pcie-vs-nvlink- 更新
- 2026-07-03
- 来源
- 6
- 关系
- 4
概述
PCIe和NVLink都可以参与GPU数据传输,但承担的角色不同。PCIe是由PCI-SIG制定的通用高速互联标准,负责连接CPU、GPU、网卡、NVMe存储及其他外设;NVLink是NVIDIA面向GPU间或特定CPU与GPU之间高速通信设计的专用互联。
在多GPU服务器中,两者通常不是二选一。GPU仍需要通过PCIe与主机CPU、内存和I/O设备通信,支持NVLink的GPU则可以通过NVLink或NVSwitch完成更高带宽、较低延迟的GPU间数据交换。是否需要NVLink,主要取决于任务是否存在频繁的跨GPU通信。
核心区别
| 维度 | PCIe | NVLink |
|---|---|---|
| 技术性质 | 开放的行业通用I/O标准 | NVIDIA专用高速互联技术 |
| 主要连接对象 | CPU、GPU、网卡、NVMe及其他外设 | GPU与GPU;部分平台支持CPU与GPU的NVLink-C2C |
| 主要作用 | 主机I/O、设备接入和通用数据传输 | 提高GPU间或特定CPU-GPU间通信带宽 |
| 带宽口径 | 由PCIe代际与通道数决定 | 由NVLink代际、GPU型号和平台决定 |
| 拓扑 | CPU Root Complex、PCIe Switch及设备树 | 点对点NVLink或通过NVSwitch组成多GPU互联域 |
| 设备兼容性 | 适用于多厂商和多种设备 | 仅适用于明确支持NVLink的NVIDIA产品和平台 |
| 典型任务 | 独立多卡推理、数据加载、存储和网络I/O | 张量并行、模型并行、MoE及通信密集型训练 |
| 是否替代对方 | 通常不会。支持NVLink的平台仍会保留PCIe主机和I/O通路 | |
PCIe 是什么
PCIe全称Peripheral Component Interconnect Express,是服务器、工作站和个人电脑中最常见的高速扩展总线。GPU通常通过PCIe与CPU和主机内存通信,网卡、NVMe SSD、存储控制器和DPU也会占用PCIe通道。
PCIe链路由“代际”和“通道数”共同决定,例如PCIe 4.0 x16、PCIe 5.0 x16。PCI-SIG公布的PCIe 5.0 x16理论双向聚合带宽最高约为128GB/s,即每个方向约64GB/s。实际应用带宽会受到协议开销、平台拓扑、CPU、PCIe Switch及软件实现影响。
为什么PCIe拓扑很重要
物理插槽是x16,并不代表GPU始终获得完整的x16有效链路。双路CPU服务器中,不同GPU可能分别连接不同CPU;部分多卡系统还会经过PCIe Switch。跨CPU或跨Switch通信可能增加延迟并占用CPU互联带宽。
- 核对GPU实际运行在PCIe 4.0还是PCIe 5.0。
- 核对链路宽度是x16、x8还是更低。
- 确认GPU、网卡和NVMe所属的CPU与NUMA节点。
- 检查GPU间P2P是否被平台、IOMMU或虚拟化配置限制。
- 多卡服务器应取得完整PCIe拓扑图,而不是只看插槽数量。
NVLink 是什么
NVLink是NVIDIA提供的高速、低延迟互联,主要用于GPU之间直接访问和传输数据。在支持的系统中,CUDA和NCCL可以利用NVLink进行GPU Peer-to-Peer通信,从而减少数据经由CPU和主机内存中转的开销。
NVLink带宽随代际变化。以数据中心平台为例,H100/H200所使用的第四代NVLink提供每GPU 900GB/s双向GPU互联带宽;Blackwell B200所使用的第五代NVLink提供每GPU 1.8TB/s双向带宽。两项数据均是特定GPU和平台的官方口径,不能套用到所有支持NVLink的产品。
NVLink-C2C 与普通NVLink有什么不同
NVLink-C2C用于特定芯片间的高带宽、一致性连接,例如Grace CPU与Hopper或Blackwell GPU之间的连接。它与传统独立GPU之间的NVLink并不是完全相同的产品形态。只有明确采用Grace Hopper、Grace Blackwell等架构的平台,才能使用相应的一致性内存和CPU-GPU互联能力。
NVSwitch 与 NVLink 有什么区别
NVLink是具体的高速链路,NVSwitch是连接多条NVLink的交换芯片。两张GPU可以通过点对点NVLink连接;在HGX、DGX或NVL机架级系统中,NVSwitch可以让多张GPU通过交换结构进行更完整的互联。
以八卡H100/H200系统为例,NVSwitch使八张GPU能够在节点内以NVLink通信;在GB200 NVL72中,NVLink Switch System将72张Blackwell GPU连接为一个机架级NVLink域。系统规模和拓扑不同,不能把“支持NVLink”理解为所有平台都具有相同的全互联能力。
带宽应该怎么比较
| 互联示例 | 官方理论带宽口径 | 适用说明 |
|---|---|---|
| PCIe 5.0 x16 | 最高约128GB/s双向聚合 | 通用主机和设备I/O,实际受平台与协议影响 |
| 第四代NVLink | H100/H200每GPU 900GB/s双向 | 特定Hopper SXM/HGX/DGX平台 |
| 第五代NVLink | B200每GPU 1.8TB/s双向 | 特定Blackwell SXM及NVL平台 |
这些数字不能直接用于推导模型性能。PCIe与NVLink的带宽统计方式、链路数量和拓扑不同,真实收益还取决于通信模式、消息大小、并行策略、GPU数量和软件库。对训练或推理项目,应使用NCCL Tests和目标模型测试,而不是只比较纸面带宽。
NVLink 能让多张GPU显存自动叠加吗
不能简单理解为自动叠加。两张32GB GPU即使通过NVLink连接,也不会在所有应用中自动显示为一张64GB GPU。程序仍需使用张量并行、流水线并行、模型切分、CUDA Peer Access、统一内存或其他明确支持多GPU的机制。
部分Grace Hopper、Grace Blackwell及机架级NVLink平台提供更强的一致性或扩展内存能力,但这属于特定硬件和软件架构,不能推广到普通PCIe多卡或所有NVLink系统。
哪些任务更需要NVLink
| 任务类型 | 对GPU间通信的需求 | 建议 |
|---|---|---|
| 每张GPU独立运行一个模型实例 | 低 | PCIe通常可以满足,重点关注CPU、网络和散热 |
| 多用户独立推理或批量生成 | 低到中 | 可通过任务调度将请求分配到不同GPU |
| 数据并行训练 | 中到高 | 需要频繁All-Reduce,NVLink可降低节点内通信瓶颈 |
| 张量并行和模型并行 | 高 | 优先评估NVLink/NVSwitch平台 |
| MoE专家并行 | 高 | 需要关注All-to-All及节点内外网络 |
| 跨GPU视频转码或视觉任务 | 取决于数据流 | 若任务可独立切分,PCIe多卡即可;频繁共享数据时再评估NVLink |
| 多GPU HPC | 取决于算法 | 通信密集型网格、线性代数等任务更受益于高速互联 |
没有NVLink的多卡服务器能不能用
可以。RTX 5090、RTX PRO 6000等产品不提供NVLink,但仍可通过PCIe和软件框架构建多卡系统。多GPU显存可由框架进行模型切分,GPU之间也可能在平台允许时使用PCIe P2P。
PCIe多卡服务器更适合任务独立、通信比例较低或预算敏感的场景。若模型需要在每一层频繁跨卡交换大量张量,PCIe通信可能成为瓶颈,需要通过减少跨卡切分、调整并行策略或改用NVLink平台解决。
NVLink 能代替 InfiniBand 或以太网吗
不能一概而论。传统HGX/DGX八卡节点中,NVLink和NVSwitch主要负责节点内GPU通信;节点之间仍需要InfiniBand或RoCE以太网。NCCL会根据拓扑在NVLink、PCIe、共享内存和网络之间选择传输路径。
GB200 NVL72等系统将NVLink域扩展到机架级,但跨机架扩展仍需使用高速网络。因此,NVLink解决的是scale-up问题,高速网络主要解决scale-out问题,两者通常同时存在。
多卡服务器部署检查项
- GPU型号是否真正支持NVLink,以及支持哪一代NVLink。
- 系统是点对点NVLink、八卡NVSwitch,还是机架级NVLink域。
- PCIe代际、链路宽度、Switch和NUMA拓扑。
- CUDA、驱动、Fabric Manager和NCCL版本。
- 是否启用GPU P2P,以及虚拟化环境是否支持。
- 使用
nvidia-smi topo -m检查GPU、CPU和NIC拓扑。 - 使用CUDA P2P样例或NCCL Tests验证带宽和延迟。
- 使用目标模型测试扩展效率,而不是按GPU数量线性估算。
选型边界
- PCIe优先:独立推理、多模型实例、图像生成、视频处理和通信较少的多卡任务。
- NVLink优先:张量并行、模型并行、MoE、大规模训练和节点内频繁集合通信。
- 不能只看有无NVLink:还要比较显存、GPU计算、CPU、网络、存储、软件和成本。
- 不能把NVLink当成显存合并按钮:应用必须明确支持多GPU和对应通信方式。
- 不能把NVLink带宽等同于业务吞吐:最终仍需统一工作负载测试。
常见问题
PCIe 和 NVLink 可以同时使用吗?
可以,而且数据中心多GPU系统通常会同时使用。PCIe负责主机和设备I/O,NVLink负责高速GPU间通信。
两张GPU有NVLink后显存会变成一张大显存吗?
不会自动变成统一显存。程序需要使用模型并行、P2P、统一内存或其他明确支持多GPU的机制。
RTX 5090支持NVLink吗?
不支持。RTX 5090多卡通信主要依赖PCIe和软件框架。
NVLink是否一定能提高大模型推理速度?
不一定。单卡模型或每卡独立实例可能很少使用GPU间通信,NVLink的收益主要出现在跨卡模型切分和高通信负载中。
NVSwitch是不是一种GPU?
不是。NVSwitch是连接多条NVLink的交换芯片,用于构建多GPU高速互联结构。
PCIe 5.0 x16的带宽是多少?
PCI-SIG给出的理论双向聚合带宽最高约为128GB/s,即每个方向约64GB/s;实际带宽会低于理论值。
八卡服务器是否必须有NVLink?
不是。八卡PCIe服务器可以运行独立任务和部分并行任务;若工作负载需要频繁GPU间通信,NVLink/NVSwitch通常更合适。
如何确认服务器中的GPU是否通过NVLink连接?
可以使用nvidia-smi topo -m查看拓扑,并通过NCCL Tests或CUDA P2P测试验证实际通信。
方案咨询
需要把方案落到实际配置?
联系赋创获取算力、软件栈和交付路径建议。