【一文搞懂】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 性能才能发挥出来
相关推荐
weiwei228443 天前
NVIDIA Kernel级性能分析工具Nsight Compute入门详解
gpu·cuda·nsight compute
云道轩3 天前
阿里云和华为云Rocky LINUX 9.X镜像就绪及低端可用英伟达GPU
阿里云·华为云·云计算·gpu·rocky linux
杰克逊的日记7 天前
gpu与cpu各厂商的优劣
运维·cpu·gpu
AndrewHZ7 天前
【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
算法·3d·blender·nvidia·贴图·具身智能·isaac sim
荔枝吻11 天前
【沉浸式解决问题】NVIDIA 显示设置不可用。 您当前未使用连接到NVIDIA GPU 的显示器。
nvidia·英伟达
算家计算11 天前
算力暴增!英伟达发布新一代机器人超级计算机,巨量算力驱动物理AI革命
人工智能·云计算·nvidia
可期不折腾13 天前
NVIDIA Nsight Systems性能分析工具
ubuntu·nvidia·nsight systems·性能分析工具
weiwei2284415 天前
NVIDIA系统级性能分析工具Nsight Systems入门详解
gpu·cuda·nsight systems
weiwei2284422 天前
CUDA编程初探
gpu·cuda
数据智能老司机22 天前
GPU 编程实战——使用 PyCUDA 与 CuPy 功能
人工智能·python·gpu