VIP20
本课程属于:002-NCCL多卡通信 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

NCCL性能剖析与瓶颈排查实战

📚 共计 30 章节
01
NCCL概述
什么是NCCL · 分布式训练角色 · 核心通信模式 (AllReduce, AllGather, ReduceScatter, Broadcast)
基础通信模式
02
NCCL安装与编译
源码编译 · 包管理器安装 · 验证安装 · 常见编译错误排查
环境编译
03
NCCL初始化与通信域
ncclCommInitAll vs ncclCommInitRank · 通信域概念 · 选择合适数量
初始化通信域
04
NCCL通信操作详解
AllReduce / AllGather / ReduceScatter / Broadcast API与参数
API通信原语
05
数据类型与规约操作
支持的数据类型 · ncclSum/Prod/Max/Min · 性能影响
规约数据类型
06
NCCL同步与异步
ncclGroupStart/End · ncclCommAbort · 异步同步机制
同步异步
07
拓扑检测与感知
ncclTopoDetect · 查看拓扑 · 拓扑对性能的影响
拓扑检测
08
环(Ring)算法
Ring AllReduce原理 · 带宽利用率 · Ring vs Tree
算法Ring
09
树(Tree)算法
Tree AllReduce原理 · 适合场景 · 与Ring性能差异
算法Tree
10
NVLink与PCIe路径
NVLink拓扑 · PCIe带宽限制 · 判断通信路径
NVLinkPCIe
11
网络通信(IB/RoCE)
InfiniBand与RoCE配置 · GID索引 · MTU影响
网络IBRoCE
12
环境变量详解(上)
NCCL_DEBUG · DEBUG_SUBSYS · DEBUG_FILE · DEBUG_WARN
调试环境变量
13
环境变量详解(下)
IB_HCA · SOCKET_IFNAME · NET_GDR_LEVEL · P2P_DISABLE
调优环境变量
14
性能基准测试
nccl-tests带宽测试 · busbw vs algbw · 结果解读
基准nccl-tests
15
Profiling基础
Nsight Systems · timeline视图 · 通信与计算重叠
ProfilingNsight
16
Profiling进阶
PROFILER_TRACE · RANK_TRACE · 自定义trace事件
ProfilingTrace
17
带宽瓶颈分析
计算 vs 通信瓶颈 · Roofline模型在NCCL中的应用
瓶颈Roofline
18
超时与hang问题
NCCL_TIMEOUT · hang场景 · 定位hang的rank
超时Hang
19
内存与显存问题
显存开销 · OOM排查 · ncclMemAlloc/Free
内存显存
20
多进程与多线程
多进程注意事项 · CUDA MPS与NCCL兼容性
多进程MPS
21
与PyTorch DDP集成
DDP中NCCL backend配置 · 常见问题排查
PyTorchDDP
22
与Horovod集成
Horovod+NCCL配置 · 与MPI对比 · 调优建议
HorovodMPI
23
与DeepSpeed集成
ZeRO阶段通信优化 · 通信与计算重叠策略
DeepSpeedZeRO
24
与Megatron-LM集成
张量并行 · 流水线并行 · 序列化开销
Megatron并行
25
多节点通信
跨节点配置 · 带宽优化 · 拓扑感知
多节点跨节点
26
故障恢复
ncclCommAbort恢复 · 容错训练 · checkpoint/restart
容错恢复
27
性能调优实战(上)
BUFFSIZE · CHUNK_SIZE · LL_THRESHOLD
调优参数
28
性能调优实战(下)
MIN/MAX_NCHANNELS · ALGO · PROTO
调优通道
29
常见错误码与排查
ncclSystemError · InternalError · InvalidArgument 等
错误码排查
30
综合案例
从零排查分布式训练NCCL性能问题 (拓扑/带宽/超时/内存)
实战综合