GPU 间的通信方式

通信路径大梳理

  • 同一 NUMA 节点内的 GPU 间通信走 PCIe/P2P 路径,经由 CPU 片上交换结构,但不经过 CPU 核心,数据直接在显存之间拷贝。
  • 同 NUMA 节点内的 CPU 通信直接通过节点内部的共享内存与高速互连(UPI/Infinity Fabric),不依赖外部网络或总线。
  • 不同numa节点的GPU通信,需要CPU参与,在系统总线中通过QPI/UPI通信
  • 不同numa节点,使用nvlink设备连接的GPU 提供 GPU‑to‑GPU 的高速直连。通信时数据直接在 GPU 之间跳过 CPU,CPU 只负责指挥而不当"邮差"
  • 不同物理节点间的GPU通信,且物理节点间使用ether连接。GPU数据将通过CPU,并最终通过以太网传输。
  • 不同物理节点间的GPU,且物理节点使用RDMA连接,GPU数据绕过CPU,直接通过RMDA进行跨物理节点通信。

通信速率对比

通信类型 典型带宽 说明
同一 NUMA 节点内 GPU‑to‑GPU P2P PCIe 4.0 x16 ≈ 32 GB/s<br>PCIe 5.0 x16 ≈ 64 GB/s 通过 PCIe lanes 直连,取决于 CPU 提供的 lanes 速率。
跨 NUMA 节点 GPU‑to‑GPU ≈ 20‑40 GB/s* 数据须通过另一颗 CPU 的互连(UPI/Infinity Fabric),实际会被分割/共享,略低。
NVLink(GPU‑to‑GPU) NVLink 2.0 ≈ 50 GB/s/链路<br>NVLink 3.0 ≈ 75 GB/s/链路<br>多链路可叠加(例如 A100 6 链路≈ 600 GB/s) 专用点对点互连,直接在 GPU 之间,不经过 CPU。
RDMA(GPU‑to‑GPU 跨节点) Infiniband HDR 200 Gb/s≈ 25 GB/s<br>Infiniband NDR 400 Gb/s≈ 50 GB/s 使用 GPUDirect‑RDMA,通过网络传输,CPU 不参与数据拷贝。
以太网(无 RDMA) 25 GbE≈ 3 GB/s<br>100 GbE≈ 12 GB/s<br>400 GbE≈ 50 GB/s 若采用传统 TCP/IP,数据先过主机内存/CPU,延迟高且带宽受限。
相关推荐
阿干tkl1 小时前
openEuler 系统 Kubernetes + Harbor 学习测试环境详细部署指南
容器·kubernetes
天草二十六_简村人2 小时前
阿里云SLS采集jvm日志(上)
java·运维·数据库·后端·阿里云·容器·云计算
winfreedoms2 小时前
宿主机有网、Docker 容器不能解析域名?用 daemon.json 一键配置永久 DNS
运维·docker·容器·json
橙露3 小时前
Docker 实战:镜像瘦身、多阶段构建与最佳实践
运维·docker·容器
2601_949814493 小时前
使用Kubernetes部署Spring Boot项目
spring boot·容器·kubernetes
阿里云云原生4 小时前
聊着天把虾队管了:用 HiClaw 正确打开多智能体协作方式【限时领 PPT】
云原生
小李小李快乐不已4 小时前
docker(1)-环境和基本概念
运维·c++·docker·容器
God__is__a__girl4 小时前
Docker Desktop 在 Windows 上启动失败:500 Internal Server Error 完整排查与修复指南
windows·docker·容器
摸鱼的后端4 小时前
Docker容器中Kingbase数据库授权到期更换解决方案
数据库·docker·容器
yuweiade5 小时前
使用 Docker 部署 RabbitMQ 的详细指南
docker·容器·rabbitmq