• NCCL代码阅读-05

    AllReduce操作流程(从ncclLaunchKernel开始) 因为我的项目基本上只用allreduce,所以我就重点关注了一下这个操作 具体来说我用的是allreduce的u32的sum操作 ncclLaunchKernel前面的内容和《NCCL代码阅读-01》里面记录的sendrecv操作差不多,就不过多解释了 准备工作:launchKernel的前夜 这部分本来应该在01里面...
  • tmux使用

    需求 我想在服务器上运行一个程序,但是这个程序耗时很长,我想断掉我本地机器和服务器的连接然后关机睡觉,但是我希望服务器上继续在跑 解决方案:tmux tmux安装 因为我用的服务器是组里面的多人服务器,所以我不能用root权限直接安装,又懒得用源码,于是就用conda虚拟环境安装12conda install -c conda-forge tmuxtmux -V tmux使用创建一个新的...
  • NCCL代码阅读-04

    好的,再更具体一步,假设我们在 两个 GPU 做 AllReduce 时,数据的具体划分、传输,以及每一阶段的变化都会明确说明。 场景再具体化假设: 数据大小:16 个 float 元素(64 字节,总数据量很小,便于解释)。 **数据类型:float**,每个元素 4 字节。 2 个 GPU(nranks = 2),使用环形拓扑(Ring)。 1 个通道(nChannels = 1,即...
  • Makefile一个使用纠错记录

    今天写课设的Makefile,遇到了一个问题,记录一下。12345678910111213141516171819202122232425262728293031323334353637# 包含路径设置INCLUDES := -IC:/source/ignisos/inc -IC:/source/ignisos/inc -I./user/# 源文件和目标文件SRCS := user/sys...
  • NCCL代码阅读-03

    通信组创建和销毁(官网给的例子,解释看注释)一个进程,一个线程,多个设备 在这种单进程的场景下,可以使用ncclCommInitAll()1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859int main(int argc, ...
  • NCCL代码阅读-02

    NCCL中重要的数据结构(持续更新)struct ncclComm实际使用的时候是 1typedef struct ncclComm* ncclComm_t; 在src\nccl.h.in 通信上下文 比如两张GPU通信,每个GPU上都有一个comm,每个GPU都有一个rank,他们俩共享一个uniqueId,这个uniqueId是由root GPU生成的,然后广播给其他GPU,这样其他G...
  • CUDA编程模型

    https://developer.nvidia.com/blog/cuda-refresher-cuda-programming-model/ 一组线程组成一个CUDA block 一组CUDA block组成一个CUDA grid 每个CUDA block只能在一个CUDA SM上执行,不可以跨SM 每个SM可以跑多个并发的CUDA block 每个线程可以用一个三维的索引来标...
  • 同步机制

    barrier在计算机科学和并行计算中,barrier(屏障)是一种同步机制,用于确保一组线程或进程在某个特定点之前都完成其任务,然后才能继续执行后续操作。它的核心功能是强制所有线程或进程“汇合”到某个同步点,并等待所有参与者都到达该点后,才能继续执行。 详细解释工作原理 屏障点: 程序中设置一个“屏障点”,所有线程或进程在到达这个点后都会停下来。 只有当所有线程或进程都到达这个屏障点后,它...
  • 实验室服务器nccl部署命令

    nccl编译1make src.build CUDA_HOME=/usr/lib/nvidia-cuda-toolkit/ NVCC_GENCODE="-gencode=arch=compute_80,code=sm_80" 查看各种库的安装路径 由于管理员最初好像是用apt安装的,所以可以这样查找 以查找mpi为例1dpkg -S mpicc nccl-test编译...
  • hexo常用命令

    新建一篇文章1hexo new "文章标题" 本地重新生成静态文件12hexo cleanhexo g 发布到github.io1hexo d 在文章里面插入图片 首先把图片放到source/images下面 然后文章里插入:1<img src="/images/图片文件名" width="50%">
1234