• 各级别存储记录

    host memory 一般DRAM,就是内存条 SSD 是固态硬盘 大容量存储 最老的时候,用机械硬盘,速度不高,传输路径是机械硬盘 ─── SATA线 ─── SATA Controller ─── CPU,后来SSD速度上去了,SATA不够了,所以开发了NVMe传输协议,传输路径是NVMe SSD ── PCIe 通道 ── CPU GPU一般不能直接访问SSD(因为GPU没有NVM...
  • cache line优化

    CPU 缓存的一点背景知识现代 CPU 访问内存不是按“字节”访问,而是按 cache line(缓存行) 为最小单位加载的。典型的 cache line 大小为 64 字节。 当一个线程写入某个地址时,CPU 会把该地址所在的整条 cache line 标记为“已修改 (dirty)”,并通过硬件的 cache coherence 协议(MESI)去通知其它 CPU 核心“我改过这个 ca...
  • PCIe BAR

    PCI express的物理地址空间 * 在 PCI Express 的系统架构中,存在一个统一的物理地址空间。 * 网卡看到的0x1111和GPU看到的0x1111是一样的 PCI express BAR 相当于每个pcie设备有自己的办公室编号范围(BAR空间所规划的范围)12345678910111213网卡想读GPU显存中偏移500处的数据↓网卡知道GPU的BAR2窗口在物理地址1...
  • Linux home差异(仅个人记录的超简单知识点)

    问题起因 事情是这样的,我之前用linux机器要么只在root权限下用,要么只在普通权限下用 这次先在普通权限下用,然后我要访问~/perf/perftest,一切OK 但是切换到root权限(sudo su)之后就没有这个文件夹了 原因分析 核心是环境变量差异​​ ​普通用户​​:echo $HOME 输出:/home/your_username ...
  • DeepEP-decode阶段microbatch重叠分析

    前言 简单分析一下deepep的LL kernel,即用于推理的decode阶段的通信kernel。代码就不在这看了,主要是分析一下其对于双microbatch的支持。 之前一直对双buffer的使用有些误区,始终觉得会把干净数据弄脏,现在仔细想起来并不会这样。 图片解释 我们看上面一张图片,要用两个stream,分别负责一个microbatch,主要原因是通信时间是显式漏在外面的 而...
  • 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核心规则 ​写操作可乱序​​:设备可优...
1234