首页
›
AI算力与GPU工程
›
020-多卡通信
›
《多卡通信算子开发与性能优化实战》
VIP20
本课程属于:020-多卡通信
AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
多卡通信算子优化从零开始
📚 共计 30 章节
01
通信基础
为什么需要多卡通信?从单机单卡到多机多卡的演进,通信算子的核心概念。
概念
演进
02
硬件拓扑
NVLink、PCIe、InfiniBand、以太网的对比,通信拓扑对性能的影响。
硬件
拓扑
03
通信原语
AllReduce、AllGather、ReduceScatter、Broadcast的原理与适用场景。
原语
集合通信
04
Ring AllReduce
Ring AllReduce的算法原理,分步拆解(ReduceScatter + AllGather)。
算法
环形
05
Tree AllReduce
Tree AllReduce的算法原理,与Ring AllReduce的对比。
树形
对比
06
通信延迟模型
理解延迟(Latency)与带宽(Bandwidth),计算通信时间公式。
模型
性能
07
通信与计算重叠
如何利用异步通信隐藏延迟,Stream与Event的使用。
异步
重叠
08
NCCL基础
NCCL库的安装与配置,NCCL的通信模式(Send/Recv, AllReduce等)。
NCCL
配置
09
NCCL进阶
NCCL的拓扑感知与算法选择,环境变量调优(NCCL_ALGO, NCCL_PROTO等)。
调优
环境变量
10
NCCL性能分析
使用NCCL的Profiler工具,分析通信瓶颈。
Profiler
瓶颈
11
MPI基础
MPI的安装与配置,MPI的通信模式(Point-to-Point, Collective)。
MPI
点对点
12
MPI进阶
MPI的Non-blocking通信,MPI与NCCL的对比。
非阻塞
对比
13
GLOO基础
GLOO的安装与配置,GLOO的通信模式,与NCCL的对比。
GLOO
对比
14
自定义通信算子
基于CUDA实现简单的Send/Recv,理解底层通信机制。
CUDA
实现
15
通信算子融合
将多个小通信算子合并为一个大通信算子,减少通信次数。
融合
优化
16
通信算子切分
将大通信算子切分为多个小通信算子,提高并行度。
切分
并行
17
通信调度优化
静态调度与动态调度,通信与计算的依赖关系管理。
调度
依赖
18
通信内存优化
减少通信过程中的内存拷贝,使用P2P与RDMA。
内存
RDMA
19
通信带宽优化
利用NVLink/NVSwitch提升带宽,多路径通信。
带宽
NVLink
20
通信延迟优化
减少通信启动延迟,使用Persistent Kernel。
延迟
Kernel
21
通信负载均衡
解决多卡通信中的负载不均问题,动态调整通信量。
负载均衡
动态
22
通信容错
通信超时处理,通信失败重试机制。
容错
重试
23
通信与模型并行
模型并行中的通信模式(Pipeline Parallel, Tensor Parallel)。
模型并行
PP/TP
24
通信与数据并行
数据并行中的通信模式(AllReduce, Gradient Accumulation)。
数据并行
DP
25
通信与混合并行
3D并行(DP+PP+TP)中的通信挑战与优化。
3D并行
混合
26
通信与ZeRO优化
ZeRO系列优化中的通信模式(ReduceScatter, AllGather)。
ZeRO
显存
27
通信与序列并行
序列并行中的通信模式(Ring Attention, Flash Attention)。
序列并行
Attention
28
通信与专家并行
MoE模型中的通信模式(All-to-All, TopK Routing)。
MoE
All-to-All
29
通信Profiling工具
使用Nsight Systems、PyTorch Profiler分析通信性能。
Profiling
Nsight
30
综合实战
基于PyTorch DDP + NCCL优化一个LLM训练任务,从Profiling到调优的全流程。
实战
LLM
所属VIP或分类
同VIP:CUDA多卡驱动适配与通信调优实战
同VIP:CUDA算子优化与多卡通信适配
同VIP:GPU集群多卡通信与分布式训练实战