NCCL 源码详解总目录

前言

本文主要对 NCCL 源码相关资料以及自己将要发布的文章做一个汇总,关注点赞收藏不迷路。

KIDGINBROOK 讲解的版本与我要看的版本不一致,我的版本是 NCCL 2.19.1。部分内容重合,部分内容有差异,我最多的是对其的补充与部分疑难点的详解。

建议可以先阅读 KIDGINBROOK 相关博客,对 NCCL 有一个整体了解。

比较忙,更新时间久,我尽快。

学习源码

NCCL 自定义源码

  1. 我基于 NCCL_2.19 版本修改了一下源码,可以脱离GPU硬件,自定义拓扑结构,跟踪多种链接情况的软件流程;
  2. 默认硬件连接如下,如果要定义,按照格式修改 xml 文件即可,后续看情况,可能出一个交互式设计;
  3. 提供一个 xml 转 pdf 的 python 脚本 topo/xml_to_PNG.py;

拓扑图展现的不是很好,原本设计是 GPU0 GPU1 GPU2 GPU3 是相互通过 NVLINK 链接的,有点乱,先用着吧。
NCCL 源码详解总目录_第1张图片

正文

NCCL源码解析: proxy 线程
NCCL源码解析: P2P 连接的建立
NCCL源码解析: 共享内存连接的建立

未完待续

转载:

来自 @ KIDGINBROOK

NVIDIA NCCL 源码学习(一)- 初始化及ncclUniqueId的产生

NVIDIA NCCL 源码学习(二)- bootstrap网络连接的建立

NVIDIA NCC​L 源码学习(三)- 机器内拓扑分析

NVIDIA NCCL 源码学习(四)- 建图过程

NVIDIA NCCL 源码学习(五)- 路径计算

NVIDIA NCCL 源码学习(六)- channel搜索

NVIDIA NCCL 源码学习(七)- 机器间channel连接

NVIDIA NCCL 源码学习(八)- 数据通信链路transport的建立

NVIDIA NCCL 源码学习(九)- 单机内ncclSend和ncclRecv的过程

NVIDIA NCCL 源码学习(十)- 多机间ncclSend和ncclRecv的过程

你可能感兴趣的:(NCCL,linux,c语言,NCCL,nvidia)