• NSDI26fall论文写作经验总结

    写在前面 NSDI26fall,不是一作,大概率陪跑 感谢鹅厂提供机器和资源,感谢我的超级赛亚人企业mentor,感谢我们的一作小老板,亲力亲为,一作值得,并且我确实学到了不少经验,一开始怨气为主,后面只想写完然后中稿 总结了一些论文写作过程中的小tip 画图 画图讲究最多,计算机顶会的图重点就是紧凑,少空白多信息 latex图片插入语法普通一张图插入123456\begin{...
  • pybind机制

    使用场景 python里面调用C++代码 举例说明:小demo拆解 链接:datacopy_nvshmem_pybind 目标 因为跨服务器的传输,不用MPI的话就得用pytorch提供的分布式通信接口 pytorch的分布式通信接口是python的 所以必须得用python调用底层编写的C++代码 这个项目还有一个麻烦的事情是必须要使用到nvshmem库,一些链接过程也写在这里 代码...
  • CUDA IPC共享内存-以DeepEP为例

    前言 deepep当中,RDMA到nvlink域的转发之前一直以为是先从RDMA recv buffer到nvlink的本地buffer,然后再从nvlink本地buffer到其他GPU的nvlink buffer 实际上,deepep是直接从RDMA recv buffer到其他GPU的nvlink buffer 这就涉及到cuda ipc共享内存的概念 相关代码123456789101...
  • 软硬链接

    软链接 软链接(Symbolic Link),也称为符号链接,是一种特殊类型的文件,它包含对另一个文件或目录的路径引用。软链接类似于Windows系统中的快捷方式。软链接可以跨文件系统创建,并且可以指向目录。 一个物理文件实际位置路径为addr,软链接就是一个文件,内容为addr(路径),文件名为linkname。 创建软链接的命令为ln -s addr linkname,删除软链接的命令为...
  • PCIE relaxed ordering&strong ordering

    PCIE strong ordering核心规则 ​​写后写(Write-Write)​​:两个写操作按提交顺序完成。 ​读后读(Read-Read)​​:读操作按序执行。 写后读(Write-Read)​​:读操作必须等待前面的写操作完成。 ​读后写(Read-Write)​​:写操作等待前面的读操作完成。 PCIE relaxed ordering核心规则 ​写操作可乱序​​:设备可优...
  • VSCODE-stash

    stash功能 stash功能可以将当前工作区的修改保存起来,方便切换分支或进行其他操作后再恢复。 stash的内容会被保存在一个栈中,可以随时查看和恢复。 使用方法 打开vscode的git界面拓展功能界面,按上面的加号即可stash 在切换分支的时候,会自动弹出提示框让我们输入stash信息 然后可以切换到别的分支 切换回原分支后,如果想恢复之前的stash,进入git界面拓展功能界面...
  • CUDA内核函数执行环境标识符:global,device,host

    三种函数执行环境标识符 CUDA内核函数的执行环境有三种标识符:global, device, host host host在主机(CPU)上执行的普通函数 可以直接省略不写,不写就默认是host global global在设备(GPU)上执行,也就是我们常说的GPU内核函数 可以有参数,不能有返回值 CPU通过<<<>>>调用,可以由__host_...
  • CUDA内存结构

    写在前面 本来以为我已经懂了,但是在实践中发现,自己写的代码中同步时延占据了非常大的部分,所以打算再好好整理一下内存模型 参考了CUDA编程基础以及该作者的其他文章 GPU结构 每个线程在SP(Streaming Processor)中执行,每个SP有自己的寄存器和local memory 由多个SP和一块共享内存(Shared Memory)组成一个SM(Streaming Multi...
  • CUDA,CUDA runtime等概念辨析

    CUDA包含的核心组件 CUDA C/C++语言拓展(现在最新的还支持python了,nv真的强) CUDA工具链:nvcc,nsight等 CUDA driver API:底层驱动接口,直接操作GPU硬件 CUDA runtime 是CUDA架构中的软件中间层,是CUDA driver API的封装 比如提供了cudaMalloc/cudaMemcpy等函数 说白了就...
  • NVSHMEM配置

    环境说明 Debian 单机两卡两个NUMA节点 我大部分使用的是源码编译,一开始没有给我分配sudo权限,后来必须要安装一个驱动,因此后面具有了sudo权限 依赖项:GDRCopy 从源码安装12345`sudo apt install nvidia-dkms-<your-nvidia-driver-version>`make prefix=<install-to-th...
123