多GPU协同计算实战

📚 30章 · 完整目录 CUDA
为什么需要多GPU 多GPU架构概述 GPU拓扑与NVLink
CUDA流的概念 默认流与非默认流 流同步机制 流回调函数
多流并发矩阵乘法 多流并发数据拷贝 流优先级与调度
P2P通信原理 cudaMemcpyPeer P2P访问与原子操作 P2P性能分析
NVLink拓扑结构 NVLink带宽测试 NVLink与PCIe对比 多GPU全连接通信
单进程多设备模型 多进程多设备模型 MPI+CUDA混合编程 NCCL库入门
NCCL安装与配置 NCCL通信原语 AllReduce实现 Broadcast实现
NCCL组管理 NCCL自定义通信 NCCL与CUDA流集成 NCCL性能调优
数据并行策略 模型并行策略 流水线并行策略 混合并行策略
数据分片与分发 梯度同步AllReduce 梯度累积 大规模Batch训练
层间模型并行 张量并行 序列并行 1D/2D分区策略
GPipe架构 PipeDream架构 1F1B调度策略 流水线气泡优化
3D并行(数据+模型+流水线) ZeRO优化器 Megatron-LM架构 DeepSpeed框架
统一内存与多GPU cudaMallocManaged 内存池管理 显存溢出处理
通信计算重叠 带宽延迟隐藏 AllReduce算法优化 Ring AllReduce详解
栅栏同步 锁机制 原子操作 CUDA事件同步
Nsight Systems使用 NCCL Profiling 多GPU性能瓶颈分析 常见错误排查
分块矩阵乘法 Strassen算法 CUDA CUTLASS库 cuBLAS多GPU调用
卷积拆分策略 im2col+GEMM Winograd算法 cuDNN多GPU支持
多头注意力并行 FFN并行 序列并行 Megatron-LM实战
图分区策略 邻居采样并行 分布式GNN训练 DGL框架多GPU
环境并行 经验回放并行 策略网络并行 IMPALA架构
生成器与判别器并行 分布式GAN训练 BigGAN多GPU实现
Embedding并行 特征交叉并行 大规模CTR模型 DeepFM多GPU
图像分类并行 目标检测并行 语义分割并行 视频理解并行
BERT预训练并行 GPT训练并行 T5模型并行 分布式推理
分子动力学模拟 气象预报模型 有限元分析 量子化学计算
SLURM作业调度 Docker容器化 Kubernetes编排 GPU资源监控
负载均衡策略 通信拓扑优化 内存访问优化 功耗管理
GPU Direct RDMA NVSwitch架构 Grace Hopper超级芯片 多GPU未来趋势