【一文搞懂】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 性能才能发挥出来
相关推荐
探索云原生10 小时前
在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析
ai·云原生·kubernetes·go·gpu
凳子花❀2 天前
市场常见AI芯片总结
ai·gpu
扫地的小何尚4 天前
什么是大型语言模型
人工智能·语言模型·自然语言处理·机器人·gpu·nvidia
点云兔子6 天前
NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
wifi·ip·nvidia·nx·hotspot·nano
驱动小百科6 天前
NPU是什么?电脑NPU和CPU、GPU区别介绍
电脑·cpu·gpu·npu·电脑硬件
self-motivation9 天前
gpu硬件架构
硬件架构·gpu·nvidia·tensor·cuda
还是大剑师兰特14 天前
GPU渲染图形的步骤和流程
gpu·大剑师
强哥之神14 天前
一种LLM推理调优技术:采用KV缓存重计算来优化CPU-GPU交互
人工智能·深度学习·缓存·语言模型·自然语言处理·大模型·gpu
程序员非鱼14 天前
深入解析神经网络的GPU显存占用与优化
人工智能·深度学习·神经网络·机器学习·nvidia·cuda
kolaseen17 天前
NCU使用指南及模型性能测试(pytorch2.5.1)
pytorch·python·深度学习·docker·gpu·cuda·ncu