为什么说 AllReduce = ReduceScatter + AllGather?——结合 NCCL Ring AllReduce
为什么说 AllReduce = ReduceScatter + AllGather?——结合 NCCL Ring AllReduce 参考 NVIDIA NCCL Collective Operations:https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/usage/collectives.html Demystifying NCCL: An In-depth Analysis of GPU Communication Protocols and Algorithms, Fig. 4:https://arxiv.org/pdf/2507.04786 其实直接看https://arxiv.org/pdf/2507.04786的 fig.4就行了 NVIDIA NCCL 官方文档明确指出: ReduceScatter 后执行 AllGather,在结果上等价于 AllReduce。 这个等式可以从两个层面理解: 语义上为什么等价 NCCL 的 Ring AllReduce 实际上怎样把这两个阶...
RDMA 单边操作:QP、WR/WQE 与 RDMA WRITE / PUT 流程
RDMA 单边操作:QP、WR/WQE 与 RDMA WRITE / PUT 流程1. 什么叫单边 RDMA?单边 RDMA(One-sided RDMA) 指的是: 发起方可以直接读写远端机器已经注册好的内存,而远端 CPU 不需要为这次数据传输主动执行 recv()、read() 或 write()。 典型的单边操作有: RDMA WRITE:把本地内存的数据写到远端内存 RDMA READ:把远端内存的数据读到本地内存 Atomic:远端原子操作,例如 Compare-and-Swap、Fetch-and-Add 例如: 1234567891011Host A Host BCPU / GPU CPU │ │ RDMA WRITE ▼ RNIC A =================================> RNIC B ...
复习(占位)
只是占位

