【一文搞懂】GPU硬件拓扑与传输速度

今天查询华为昇腾算力卡的时候发现了一个非常好的博客,讲述了英伟达GPU与华为NPU的一些基础概念,特分享如下。

本文信息均摘录于 ArthurChiao's Blog,感兴趣的读者欢迎直接点击链接

基本概念

PCIe

PCIePeripheral Component Interconnect Express 的缩写,表示"外部设备互联(PCI)高速扩展总线"。它是一种高速串行计算机扩展总线标准,广泛用于计算机系统中连接各种外部设备,例如显卡、存储设备(SSD)、网络适配器等。

其传输带宽如下表所示:

  • 注:Slot Width 表示通道数量,Full Duplex 表示全双工时的带宽,也即单向带宽,双向的话需要乘以2。

NVLink 是一种 GPU 之间的直接互连,双向互连速度达 1.8 TB/s,可扩展服务器内的多 GPU 输入/输出 (IO)。

NVLink 结构与传输速度

  • 图中x86表示CPU,两个方框表示 GPU,方框之间的双向箭头表示一条 NVLink,每条 NVLink 的带宽是 50GB/s *

NVLink Switch 可连接多个 NVLink,实现在单个机架内和多个机架间以 NVLink 能够达到的最高速度进行多对多 GPU 通信。

在一台主机内,NVLink Switch又可以叫做NVSwitch。

RDMA、RoCEv2、InfiBand

**RDMA(RemoteDirect Memory Access)**技术全称远程直接内存访问,是为了解决网络传输中服务器端数据处理的延迟而产生的。
RoCEv2和InfiniBand均为数据中心及高性能计算环境而设计,旨在提供高速、低延迟的通信解决方案。

RoCEv2与InfiBand的对比如下:

简单来说,RoCEv2依托于现有的以太网,兼容性更好,目前绝大多数数据中心均采用此种方式;InfiBand使用专用硬件,速度更快、价格更高。

两者的具体差别可以参考这篇文章------深度解读RoCE v2网络技术

带宽单位

网络带宽习惯用 bits/second (b/s) 表示之外,并且一般说的都是单向(TX/RX);

其他模块带宽基本用 byte/sedond (B/s)transactions/second (T/s) 表示,并且一般都是双向总带宽

常见拓扑与数据传输瓶颈

数据传输路径

一种常见的单机8卡拓扑如下:

单机 8 卡 A100 GPU 主机带宽瓶颈分析

  • 同主机 GPU 之间走 NVLink双向 600GB/s,单向 300GB/s
  • 同主机 GPU 和自己的网卡之间走 PCIe ,常见的是 PCIe Gen4 Switch 芯片,双向 64GB/s,单向 32GB/s
  • 跨主机 GPU 之间需要通过网卡收发数据 ,这个就看网卡带宽了,目前国内 A100/A800 机型配套的主流带宽是(单向) 100Gbps=12.5GB/s 。 所以跨机通信相比主机内通信性能要下降很多

其他说明:

  • 若采用 200Gbps 的网络带宽,折合 25GB/s ,已经接近 PCIe Gen4 的单向带宽
  • 若采用 400Gbps 的网络带宽,折合 50GB/s ,就超过了 PCIe Gen4 的单向带宽
  • 使用PCIe4时采用 400Gbps 网卡作用不大,400Gbps 需要 PCIe Gen5 性能才能发挥出来
相关推荐
东锋1.37 小时前
NVIDIA(英伟达) GPU 芯片架构发展史
gpu·nvidia
berryyan21 小时前
5090显卡安装与使用DiffSynth-Studio的经验分享(Windows 11环境)50系列通用
nvidia
KIDGINBROOK2 天前
DeepSeek DeepEP学习(一)low latency dispatch
gpu·cuda
CIAS7 天前
Ubuntu 22.04 安装Nvidia驱动加速deepseek
ubuntu·nvidia
Yongqiang Cheng8 天前
NVIDIA CUDA Compiler Driver NVCC
nvidia·nvcc·cuda compiler
AI小白龙8 天前
使用torch.compile进行CPU优化
pytorch·python·gpu·cuda编程
greenery12 天前
debian 12 安装 NVIDIA 390驱动记录
debian·nvidia·飞牛
怪怪王13 天前
【GPU驱动】OpenGLES图形管线渲染机制
驱动开发·gpu·opengl
叶庭云14 天前
PyTorch 深度学习框架中 torch.cuda.empty_cache() 的妙用与注意事项
pytorch·深度学习·gpu·empty_cache·内存缓存管理
AlbertS18 天前
Ubuntu20.04部署stable-diffusion-webui环境小记
python·ai·stable diffusion·nvidia·venv