NVLink v.s. PCIe
NVLink 与 PCIe 的对比
共同点
- 都是硬件互联总线协议,负责在芯片/设备之间传输数据
- 都支持双向传输(同时收发)
- 都以 Lane(通道) 为基本单元,多条通道绑定提升带宽
- 都需要物理线路连接,不是无线通信
不同点
| 对比维度 | PCIe | NVLink |
|---|---|---|
| 设计目标 | 通用外设接口(GPU/SSD/网卡都用) | 专为 GPU 间高速互联设计 |
| 连接对象 | CPU ↔ 外设(单向树状) | GPU ↔ GPU(点对点网状) |
| 带宽 | PCIe 4.0 x16 ≈ 32 GB/s | NVLink 3.0 × 12 ≈ 300 GB/s |
| 延迟 | 较高 | 极低 |
| 拓扑 | 树状(所有设备挂在 CPU 下) | 全互联网状(每块 GPU 直连其他 GPU) |
| 协议开放性 | 开放标准,所有厂商都支持 | NVIDIA 私有协议 |
| 适用场景 | 加载模型、传输输入数据 | AllReduce、张量并行通信 |
| 物理形态 | 主板插槽(金手指) | A100/H100 上的专用物理引脚 |
一句话总结
PCIe 是 CPU 与 GPU 之间的"国道",NVLink 是 GPU 与 GPU 之间的"高铁专线"。
在你的机器上,两者同时存在、各司其职:
- 程序把数据从内存加载到 GPU → 走 PCIe
- GPU 0 和 GPU 1 之间同步梯度 → 走 NVLink