01
GPU集群通信概述
从单卡到多卡,通信瓶颈的由来,为什么需要核函数优化。
概念背景
02
硬件基础
NVLink、InfiniBand、PCIe总线架构与拓扑。
硬件拓扑
03
通信原语
All-Reduce、All-Gather、Reduce-Scatter的原理与实现。
原语集合通信
04
NCCL库入门
NCCL的安装、初始化、基本通信API调用。
NCCLAPI
05
Ring All-Reduce算法
数学原理、带宽最优性证明、代码实现。
算法Ring
06
Tree All-Reduce算法
双二叉树算法、与Ring的对比分析。
Tree对比
07
通信与计算重叠
Stream与CUDA Event机制,异步通信实现。
异步重叠
08
核函数融合
将多个小kernel合并为一个大kernel,减少启动开销。
Kernel融合
09
带宽利用率分析
Roofline模型在通信中的应用,如何诊断瓶颈。
Roofline性能
10
内存布局优化
数据对齐、连续内存访问、避免bank conflict。
内存对齐
11
寄存器与共享内存
利用寄存器缓存通信数据,减少全局内存访问。
寄存器共享内存
12
Warp级通信
Shuffle指令实现warp内数据交换,替代共享内存。
ShuffleWarp
13
流水线通信
将大消息切分为小chunk,实现流水线并行。
流水线chunk
14
拓扑感知优化
根据GPU物理拓扑选择最优通信路径。
拓扑路径
15
多节点通信
跨节点通信的延迟模型与带宽模型。
跨节点模型
16
RDMA与GPUDirect
绕过CPU,实现GPU间直接内存访问。
RDMAGPUDirect
17
集合通信的调优
调整NCCL的buffer大小、算法选择、协议选择。
调优NCCL
18
Profiling工具
Nsight Systems、NCCL的profiling输出解读。
ProfilingNsight
19
通信热点分析
识别通信瓶颈是带宽受限还是延迟受限。
瓶颈延迟
20
梯度压缩
量化、稀疏化、Top-K梯度压缩技术。
压缩Top-K
21
梯度累积
减少通信频率,增加计算粒度。
累积频率
22
异步梯度下降
延迟更新的数学模型与收敛性分析。
异步收敛
23
分层通信
节点内用NVLink,节点间用IB,分层All-Reduce。
分层NVLink
24
通信调度器
动态调整通信顺序,避免网络拥塞。
调度拥塞
25
故障恢复
通信超时处理、断点续传、冗余通信路径。
容错恢复
26
混合精度通信
FP16/BF16通信,减少带宽需求。
混合精度FP16
27
自定义通信核
使用CUDA C++编写自定义All-Reduce kernel。
CUDA自定义
28
性能基准测试
设计通信benchmark,测量带宽与延迟。
Benchmark性能
29
实际案例
BERT/LLaMA训练中的通信优化实践。
案例LLaMA
30
前沿趋势
NVLink Switch、CXL、光互连对未来通信的影响。
前沿互连