![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合通信
文章平均质量分 84
爱串门的小马驹
ai分布式,通信,大模型,人工智能框架,大规模集群学习分享,不定期更新
展开
-
NCCL源码详解6:通信拓扑识别感知构建 物理拓扑xml文件 ncclTopoGetSystem() 视频教程
Nvidia NCCL如何构建物理拓扑。原创 2024-07-08 21:05:39 · 948 阅读 · 2 评论 -
NCCL的不足,集合通信库初步调研 NCCL、BCCL、TCCL、ACCL、HCCL
不同厂商的集合通信库,就是针对他们网络或者硬件的定制化集合通信。已达到。百度和腾讯是明确说,基于NCCL扩展,也就是改的NCCL代码,或者在NCCL上加了些东西。但是阿里和华为没有明确说,可能是重写的一套。原创 2024-06-17 23:03:46 · 1976 阅读 · 2 评论 -
NCCL源码解读5:拓扑识别感知整体思路总览
依据物理拓扑结构,来进行通信,可达到性能更优,这也是Nvidia NCCL的核心功能。NCCL拓扑识别的整体思路:1、物理拓扑构建2、通信路径计算(每个GPU/网卡到其它GPU,网卡的最优路径。)3、逻辑拓扑构建(通信通道检索)哈哈哈,整体思路是不是特别简单。就是先获取物理拓扑图,然后计算通信路径(方便逻辑拓扑构建),根据通信路径构建逻辑拓扑,例如ring,tree逻辑拓扑,指明哪个GPU和哪个GPU通信。原创 2024-06-17 21:31:02 · 404 阅读 · 4 评论 -
NCCL源码详解4:bootstrapInit()引导网络bootstrap网络连接建立 视频教程
Nvidia NCCL bootstrapInit()利用已知的根节(rank0)网络地址(从而获得ncclUniqueId中包含的rank0的网络地址),建立一个环形网络,allgather获取所有rank的信息。原创 2024-06-04 21:11:58 · 1246 阅读 · 2 评论 -
NCCL源码详解3:通信器初始化ncclCommInitRank() 含视频教程
NCCL源码解析解读分析,ncclCommInitRank()根据rank号和CUDA设备uniqueID等,完成NCCL通信器初始化。ncclCommInitRankDev()使用 ncclAsyncLaunch 异步启动 ncclCommInitRankFunc 函数来初始化通信。 异步启动通信器初始化ncclCommInitRankFunc()原创 2024-05-24 20:06:16 · 1056 阅读 · 0 评论 -
NCCL源码详解2:通信初始化如何获取唯一ID UniqueId,ncclGetUniqueId()中ncclInit()、bootstrapGetUniqueId()包含视频教程
NCCL 视频教程 源码解读 获取唯一ID UniqueId,ncclGetUniqueId()和其调用的ncclInit()和bootstrapGetUniqueId() NCCL源码解析解读分析,原创 2024-05-18 06:20:05 · 1212 阅读 · 0 评论 -
集合通信算法源码解读视频教程 Open MPI 5.0,NCCL可参考
NCCL、MPI中有各种各样的集合通信原语/接口,像Broadcast、Allreduce、reduce、allgather、scatter、alltoall、gather、reducescatter等。每个集合通信原语,都有多套算法实现。例如Broadcast,由于应用场景的不同,参与通信的通信实体数量,每次发送的数据量各不相同等,导致难以有一种集合通信算法在各种条件下都是最优的,因此出现了一个集合通信原语,有多套集合通信算法实现。原创 2024-05-04 09:19:58 · 265 阅读 · 0 评论 -
DeepSpeed和Megatron如何调用NCCL通信后端源码解读
原本准备看一下DeepSpeed如何对接使用NCCL的,如何初始化通信后端的,没想到。瞬间傻在原地。原创 2024-05-10 20:29:27 · 724 阅读 · 0 评论 -
NCCL源码详解1:NCCL官网使用/调用案例 Example : One Device per Process or Thread包含视频教程
NCCL源码解析解读分析,rank0获取NCCL通信组ID,并通过MPI_Bcast广播给其它rank;借助MPI获取的这些信息NCCL完成初始化,并进行集合通信。原创 2024-05-11 21:10:00 · 873 阅读 · 0 评论