CUDA/NCCL/NVlink实现GPU之间的通信/GPU不同架构解读

CUDA解读

NCCL解读

NCCL 是 NVIDIA Collective Communications Library 的缩写

读法就是:妮蔻(NCCL)

参考视频:

https://www.bilibili.com/video/BV1SWpXe2Epa/?spm_id_from=333.337.search-card.all.click&vd_source=132c74f7a893f6ef64b723d9600c40b7https://www.bilibili.com/video/BV1SWpXe2Epa/?spm_id_from=333.337.search-card.all.click&vd_source=132c74f7a893f6ef64b723d9600c40b7

单GPU的训练流程

DP:数据并行,其中GPU之间的通信就是通过NCCL实现的

GPU之间的通讯又分为节点内的通讯和节点之间的通讯

查看机器上GPU的连接方式:

复制代码
nvidia-smi topo --matrix

可以看到4090显卡是不支持NVlink的

PCIe介绍

peripheral 次要的,附带的;外围的,周边的;(计算机设备)外围的

NCCL P2P介绍

禁用P2P代码:

复制代码
export NCCL_P2P_DISABLE=1

NVLink介绍

https://www.bilibili.com/video/BV193BBYYEaG?spm_id_from=333.788.videopod.sections&vd_source=132c74f7a893f6ef64b723d9600c40b7https://www.bilibili.com/video/BV193BBYYEaG?spm_id_from=333.788.videopod.sections&vd_source=132c74f7a893f6ef64b723d9600c40b7

NVSwitch介绍

GPU不同架构

https://www.bilibili.com/video/BV1x24y1F7kY?spm_id_from=333.788.videopod.sections&vd_source=132c74f7a893f6ef64b723d9600c40b7https://www.bilibili.com/video/BV1x24y1F7kY?spm_id_from=333.788.videopod.sections&vd_source=132c74f7a893f6ef64b723d9600c40b7

2020年就有A100了

pascal架构第一次提出了NVlink

Volta架构

第一次提出了tensor core

Volta架构上面就是卖的工作站DGX

这是 NVIDIA 用来命名其高性能深度学习工作站和服务器的系列品牌,专门面向 AI 训练和推理任务

Turing架构

Turing架构主要是有光线追踪效果 RT core

RTX系列是 NVIDIA 用来命名支持 实时光线追踪 (Ray Tracing) 的显卡系列的品牌,强调其在光线追踪和高级图形渲染上的能力

Ampere架构

A100

Hopper架构

Hopper架构是4nm的芯片

Hopper是耶鲁大学第一位女博士

更新的一些架构的介绍:

https://www.bilibili.com/video/BV1LGodYaE6r/?spm_id_from=333.337.search-card.all.click&vd_source=132c74f7a893f6ef64b723d9600c40b7https://www.bilibili.com/video/BV1LGodYaE6r/?spm_id_from=333.337.search-card.all.click&vd_source=132c74f7a893f6ef64b723d9600c40b7

Ada Lovelace架构

RTX 4090是Ada Lovelace架构

这些GPU架构都是用人名来命名的