在高性能计算和人工智能领域,GPU的互连性能直接影响计算任务的效率和速度。NVIDIA开发了一系列互连技术和组件,包括NVLink、NVLink Bridge、NVLink Switch和NVSwitch,以满足不同规模和复杂性的计算需求。本文将详细介绍这些基础概念,帮助初学者了解它们的功能和应用场景。
PCIe vs NVLink首先,你大概不会陌生PCIe接口,PCIe接口毕竟是当前最常见的GPU接口,几乎所有的服务器主板都支持。而且PCIe接口还可以兼容各种类型的扩展卡,包括但不限于显卡、网卡、存储控制器等。
所以,在当前数据中心和HPC环境中,连接GPU到主板的两种主要接口标准就是PCIe接口和NVLink接口。
方面
PCIe接口
NVLink接口
通用性
通用性强,几乎所有服务器主板都支持
Nvidia专用于高性能计算和AI应用
带宽
PCIe 4.0:每条通道16 GT/s,总带宽32 GB/s;
PCIe 5.0:每条通道32 GT/s,总带宽64 GB/s;
NVLink 2.0:每条链路25 GB/s;
NVLink 3.0:每条链路50 GB/s,总带宽可达100 GB/s;
延迟
较高,适合大多数应用
低延迟,适合频繁数据交换的高性能计算任务
多GPU互连
通过主板上的多个PCIe插槽实现多GPU配置
允许多个GPU直接互连,形成高效计算集群
应用场景
大多数GPU服务器,单GPU和多GPU配置
高性能计算,特别是AI训练任务
典型配置
多个PCIe插槽,支持多张GPU卡,通过PCIe 4.0或PCIe 5.0接口提供足够带宽和扩展性
高端GPU通过NVLink桥接互连,例如NVIDIA DGX系统,多个GPU通过NVLink互连形成高速低延迟多GPU集群
NVLinkNVLink 本身是一种显卡接口标准, 支持该接口的方式有:专用连接器、线缆、NVLink Bridge、NVSwitch以及NVlink Switch,实现了 GPU 之间的高效连接,无论是在单个服务器内部还是跨多个服务器之间。
数据传输:NVLink 提供高带宽、低延迟的数据传输通道,使得 GPU 之间的数据交换速度远高于传统的 PCIe 总线。内存一致性:NVLink 支持 GPU 之间的内存一致性,这意味着一个 GPU 可以直接访问另一个 GPU 的内存,就像访问自己的内存一样。这样可以大大提高多 GPU 计算任务的效率。代际
NVLink 总带宽
每个 GPU 最大链路数
NVIDIA 架构支持
第二代
300GB/s
6
NVIDIA Volta™ 架构
第三代
600GB/s
12
NVIDIA Ampere 架构
第四代
900GB/s
18
NVIDIA Hopper™ 架构
第五代
1800GB/s
18
NVIDIA Blackwell 架构
虽然主板上已经有PCIe接口或NVLink接口,但NVLink Bridge、NVSwitch和NVLink Switch进一步提升了GPU间的通信性能,特别是在多GPU配置和大规模GPU集群中。这些额外的硬件组件提供了更高的带宽和更低的延迟,使得GPU间的数据交换更加高效,从而显著提升了AI训练和高性能计算的整体性能。
NVLink Bridge是一种硬件组件,用于在两块GPU之间建立高带宽、低延迟的直接连接。它利用NVLink技术,实现GPU间的数据快速传输。
特点:直接互连:通过NVLink Bridge,GPU之间可以直接通信,而无需经过主板的PCIe总线。高效通信:提供高带宽和低延迟,适用于需要高效数据交换的多GPU配置。NVSwitch是NVIDIA开发的一种高性能互连芯片,通常集成在服务器或专用计算系统中,用于单个服务器或小型集群内的多GPU互连。它提供了极高的带宽和低延迟通信,使得GPU间的数据交换非常高效。
特点:高带宽:每个NVSwitch芯片支持高达900 GB/s的总带宽。多GPU支持:一个NVSwitch芯片可以连接多达16个GPU。低延迟:提供极低的通信延迟,适合频繁数据交换的高性能任务。互联方式
适用显卡数量
连接方式
优点
适用场景
NVLink Bridge
2块显卡
通过NVLink Bridge直接连接2块GPU
高带宽(每条链路50 GB/s),低延迟,直接互联。
小型AI训练任务,多GPU协作的工作负载。
NVSwitch
3块及以上显卡
通过NVSwitch形成GPU全互连网络
极高带宽(总带宽2.4 TB/s),支持多达16块GPU的全互连,灵活的拓扑结构,低延迟。
大型AI训练集群,超级计算机,高性能计算任务。
NVSwitch 是NVIDIA专为高性能计算和AI应用设计的高带宽低延迟互连交换芯片。NVSwitch 本身是一个高性能芯片,类似于其他集成电路芯片,集成在系统主板或特定的互连模块中。NVSwitch 是一种专用于GPU间高性能互连的芯片,而不是一个独立的设备。NVSwitch 和 NVLink Bridge 对比:
比较维度
NVSwitch
NVLink Bridge
用途
连接单台服务器内的多个 GPU
连接单台服务器内的两个 GPU
连接对象
多个 GPU
两个 GPU
拓扑结构
多对多连接,形成高带宽、低延迟的网络
点对点连接,提供直接的高速数据通道
带宽
高达 50 GB/s 每条 NVLink,多个 NVLink 叠加
高达 50 GB/s 每条 NVLink(图中就是150GB/s);
NVIDIA 的 GPU 显卡通常有 1 到 2 个 NVLink 接口,高端型号如 A100 可能有 3 个 NVLink 接口(如下图);
通过这些接口,GPU 可以使用 NVLink Bridge 进行高速互连,显著提升多 GPU 系统的计算性能和效率。
延迟
非常低,适合高性能计算和 AI 训练
非常低,适合高性能计算和 AI 训练
扩展性
高,可连接多达 16 个 GPU,形成全互联网络
低,只能连接两个 GPU
应用场景
NVIDIA DGX 系列服务器、超级计算机
NVIDIA GeForce RTX 系列显卡
复杂性
高,需要复杂的硬件和软件支持
低,相对简单的物理连接
典型使用
NVIDIA DGX-2 和 DGX A100 等高性能计算平台
GeForce RTX 3090 等消费级 GPU
优势
提供高带宽、低延迟、多 GPU 互联
直接且高效的两 GPU 互联
限制
主要用于单台服务器内部,不适用于跨服务器
仅适用于两 GPU 的连接,无法扩展到更多 GPU
NVLink SwitchNVLink Switch是2022年NVIDIA推出的一种用于跨主机连接GPU设备的交换机。
NVLink Switch将NVSwitch芯片整合到一个交换机中,用于大规模多节点GPU集群的高性能交换系统,支持数百个GPU的高效互连。它通过多条NVLink通道,将多个GPU节点连接在一起,形成一个大规模计算集群。
特点:大规模互连:支持多达576个GPU的无阻塞计算网络。极高带宽:每对GPU之间的总带宽可达1.8 TB/s。低延迟:在大规模集群中提供低延迟通信。代际
一个 NVLink 域内直连 GPU 的数量
NVSwitch GPU 之间带宽
聚合总带宽
NVIDIA 架构支持
第一代
最多 8 个
300GB/s
2.4TB/s
NVIDIA Volta™ 架构
第二代
最多 8 个
600GB/s
4.8TB/s
NVIDIA Ampere 架构
第三代
最多 8 个
900GB/s
7.2TB/s
NVIDIA Hopper™ 架构
NVLink Switch
最多 576 个
1800GB/s
1PB/s
NVIDIA Blackwell 架构
NVSwitch 和 NVLink Switch的区别:
维度
NVSwitch
NVLink Switch
定义
单个服务器或小型集群内多GPU互连的高性能互连芯片。
是一个机架级的交换芯片,旨在支持大规模的GPU互连。最新的NVLink Switch系统可以支持多达576个GPU的无阻塞计算网络,每对GPU之间的总带宽可以达到1.8 TB/s。
应用场景
高性能计算和AI训练任务的单个服务器或小型集群。
大规模数据中心和超级计算机中的多节点GPU集群。
最大支持GPU数量
通常支持16个GPU的互连,如NVIDIA DGX-2系统。
支持多达576个GPU的无阻塞计算网络。
带宽
每个NVSwitch芯片支持高达900 GB/s的总带宽。
每对GPU之间的总带宽可达1.8 TB/s,整体提供高达25.6 Tbps的全双工带宽。
通信延迟
提供极低的通信延迟,适合频繁数据交换的高性能任务。
在大规模集群中提供低延迟通信,但相对于单个服务器的NVSwitch,可能会略高。
扩展性
主要用于单个服务器内部,扩展性受限于服务器设计和物理空间。
通过添加多个NVLink Switch,可以扩展到非常大的GPU集群,支持复杂的多节点架构。
物理形态
集成在服务器主板或专用计算系统中,如NVIDIA DGX-2和DGX A100。
作为独立的交换芯片,通常用于大型机架级GPU互连。
制造工艺
采用高性能制造工艺(如TSMC 4NP),确保高效和高带宽。
类似的高性能制造工艺,支持大规模互连需求。
应用实例
NVIDIA DGX-2和DGX A100系统,通过NVSwitch实现高效多GPU通信。
在大规模AI训练和超级计算集群中使用,如NVIDIA的HGX平台。
互连技术
使用NVLink连接,每个NVSwitch芯片有18个NVLink端口,每个端口的双向带宽为50 GB/s。
第五代NVLink和NVLink Switch,支持更高的带宽和更大的集群规模。
特殊功能
通过NVLink实现高带宽低延迟的GPU互连,支持全互连拓扑结构。
提供大规模集群的高效互连,支持复杂的多节点架构,适用于大规模AI训练和HPC任务。
NVSwitch:适用于单个服务器或小型集群内的多GPU互连,提供极高的带宽和低延迟通信,主要用于高性能计算和AI训练任务。NVLink Switch:用于大规模多节点GPU集群的交换系统,支持数百个GPU的高效互连,适合构建大规模数据中心和超级计算机。总之,这些技术和组件提供了从小规模多GPU配置到大规模GPU集群的多种解决方案,满足不同计算需求的高效数据传输和通信要求。
!!!【点赞】、【关注】不走丢^_^
!!!【点赞】、【关注】不走丢^_^