Thanks to visit codestin.com
Credit goes to github.com

Skip to content

smallnest/nccl-tutorial

Repository files navigation

NCCL 教程

本教程旨在通过一系列由浅入深的示例,帮助您理解和掌握 NVIDIA 集合通信库 (NCCL)。

目录

NCCL 集合算子总览

本教程现已涵盖了 NCCL 支持的所有主要集合通信算子:

基础集合算子

  1. AllReduce (第二章) - 所有GPU参与归约,结果广播给所有GPU
  2. Broadcast (第三章) - 一个GPU广播数据到所有其他GPU
  3. Reduce (第四章) - 所有GPU数据归约到指定的根GPU
  4. AllGather (第五章) - 收集所有GPU数据,每个GPU都获得完整数据集
  5. ReduceScatter (第九章) - 归约后分散,每个GPU获得结果的不同部分

高级通信模式

  1. Send/Recv (第六章) - 点对点通信,GPU之间直接发送和接收数据
  2. AllToAll (第十章) - 全交换通信,每个GPU与所有其他GPU交换不同数据

系统集成和优化

  1. 多GPU管理 (第七章) - 在单个程序中协调多个GPU设备
  2. CUDA流集成 (第八章) - 将NCCL与CUDA流结合实现计算通信重叠

这些算子构成了分布式深度学习和高性能计算的基础通信原语,涵盖了从简单的数据广播到复杂的数据重分布等各种通信模式。

环境假设

本教程中的所有示例都假定在支持 RoCEv2 的网络环境下运行,以实现高效的 RDMA 通信。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published