NCCL

2024/4/13 6:11:11

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

先回忆一下单机的执行流程,用户执行ncclSend之后通过ncclEnqueueCheck将sendbuff,sendbytes,peer等信息保存到了comm->p2plist中;然后执行ncclGroupEnd,如果发现channel没有建立到peer的链接则先建链,然…

【分布式】NCCL Split Tree kernel内实现情况 - 06

相关系列 【分布式】NCCL部署与测试 - 01 【分布式】入门级NCCL多机并行实践 - 02 【分布式】小白看Ring算法 - 03 【分布式】大模型分布式训练入门与实践 - 04 目录 相关系列概述1.1 Tree1.2 double binary tree初始化和拓扑2.1 Tree的初始化与差异2.2 ncclGetBtreeKernel内部…

调试 nccl 01 记 —— 罗列 gdb 常用的命令

gcc -g helloWorld.c -o helloWorld gcc -g -ggdb3 helloWorld.c -o helloWorld _____________________________________ 1. 基础调试命令 app 带参数启动调试: $ gdb -q --args helloWorld "OK" //启动程序: (gdb) start …

nccl2安装指南

https://developer.nvidia.com/nccl/nccl-download 旧版本安装: https://developer.nvidia.com/nccl/nccl-legacy-downloads 找到你对应的CUDA版本 我这里选择 deb 文件安装了 sudo dpkg -i nccl-local-repo-ubuntu2004-2.16.5-cuda11.8_1.0-1_amd64.debsudo cp /var/nccl-lo…

多机多卡运行nccl-tests和channel获取

nccl-tests 环境1. 安装nccl2. 安装openmpi3. 单机测试4. 多机测试mpirun多机多进程多节点运行nccl-testschannel获取 环境 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)cuda 11.8 cudnn 8nccl 2.15.1NVIDIA GeForce RTX 4090 *2 1. 安装nccl #查看cuda版本 nv…

Pytorch+NCCL源码编译

目录 环境1. 安装cudnn2. 使用pytorch自带NCCL库进行编译3. 修改NCCL源代码并重新编译后测试,体现出源码更改 环境 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)cuda 11.8 cudnn 8python 3.10torch V2.0.1 nccl 2.14.3NVIDIA GeForce RTX 4090 *2 1.…

RDMA在典型场景下的技术应用分析与探索

本文首发于:RDMA在典型场景下的技术应用分析与探索 1.业务适配RDMA类型 RDMA传输的适配,从业务场景的使用角度来看,大致可分为如下几种类型。 场景一:机器学习、分布式存储等场景,使用社区成熟的方案,如在…

nccl 源码安装与应用示例 附源码

1, 官方下载网址 注意,本文并不使用nv预编译的包来安装,仅供参考: NVIDIA Collective Communications Library (NCCL) | NVIDIA Developer 2,github网址 这里是nv开源的nccl源代码,功能完整,不…

【分布式】NCCL部署与测试 - 01

摆烂了整整一年。 工作的事情,真的影响心情。 目录 NCCL简述背景COMMUNICATION AMONG TASKSP2P,点对点通信CC, 集合通信Broadcast, 广播Scatter,单发多收Gather,多发单收All GatherReduceAll ReduceReduce-ScatterAll to All可能存在的问题代码结构编译测试其他1、Group2、…

NVIDIA NCCL 源码学习(十一)- ring allreduce

之前的章节里我们看到了nccl send/recv通信的过程,本节我们以ring allreduce为例看下集合通信的过程。整体执行流程和send/recv很像,所以对于相似的流程只做简单介绍,主要介绍ring allreduce自己特有内容。 单机 搜索ring 在nccl初始化的过…

NVIDIA NCCL 源码学习(十二)- double binary tree

上节我们以ring allreduce为例看到了集合通信的过程,但是随着训练任务中使用的gpu个数的扩展,ring allreduce的延迟会线性增长,为了解决这个问题,NCCL引入了tree算法,即double binary tree。 double binary tree 朴素…

NVIDIA之NCCL:NCCL的简介、安装、使用方法之详细攻略

NVIDIA之NCCL:NCCL的简介、安装、使用方法之详细攻略 目录 NCCL的简介 1、使用 CUDA 来编译 PyTorch获得内置的 NCCL 支持 NCCL的安装 T1、自动安装和配置 NCCL T2、手动安装和配置 NCCL 下载NCCL 安装 NCCL 配置环境变量 验证安装 NCCL的使用方法 1、基…

NCCL源码解析: P2P 连接的建立

文章目录 前言概括详解ncclTransportP2pSetup() 前言 NCCL 源码解析总目录 我尽量在每个函数之前介绍每个函数的作用,建议先不要投入到函数内部实现,先把函数作用搞清楚,有了整体框架,再回归到细节。 习惯: 我的笔记…