1. 概述

a. Megatron

b. NCCL4PY

  • 涉及内存alloc和vccl alltoallv的c++接口怎么直接给上层使用 nccl4py

c. VCCL

d. VCCL Document

2. timeline

  • 过一遍当前进度,弄清楚现在的buffer设计:vccl moe in feishu 🛫 2026-01-14 ✅ 2026-01-15
  • 增加alltoallv接口,修改sendcounts/recvcounts为指针,增加relay_buffer和它的长度,直接使用nccl4py调用,设计开发测试 🛫 2026-01-15 ✅ 2026-01-16
  • layout部分完成input/output split正确写到sendcounts/recvcounts内,第一行保存每个rank自己在input buffer的长度,第二行保存每个rank自己在input buffer上的开始地址。 ✅ 2026-01-16
  • taskAppend to planner ✅ 2026-01-27
  • scheduleRmaTaskToPlan调度:1234(signal) 5(signal)6(signal)7(signal) ✅ 2026-01-29
    • 按Node算调度逻辑。不按group整了(前面要拿的信息封到一个struct里面由一个func返回)。 ✅ 2026-01-27
    • 主for loop以batch来,不按group来。 ✅ 2026-01-27
    • batchWork在for loop里创建&enqueue(ncclMemoryStackAlloc) ✅ 2026-01-28
    • 考虑batch为空的情况,跳过 ✅ 2026-01-28
    • phase1 and phase4内考虑relaybuff切换 ✅ 2026-01-29
    • 每个batch里面的所有CeWait合并成一个,所有的ProxyWait合并成1个 ✅ 2026-01-29
    • 完成self-copy,phase1-4的所有调度 ✅ 2026-01-29
    • delta从0开始 ✅ 2026-01-29
  • 在 alltoallv 的开始增加一个 barrier 来确保 coll 算法不会出现 wrong ✅ 2026-03-04
  • 如何在另一个ctx内增加proxyPut/proxyWait来让relaybuffer不会机间影响机内,📅 2026-03-05,讨论后认为复杂度太高,目前优先级降低。 ✅ 2026-03-06
  • 等待 cq 确定 max_connections的 bug 出现在哪一侧 去追这个 bug 跑一下 nccl 最佳 benchmark(max_connections=32) ✅ 2026-03-16
  • 优化 nccl4py 内的 cpu 调用减少了抖动,略微增加性能 ✅ 2026-04-26
  • release 完整的 vccl v2 6. vccl v2(p2p+a2av) release✅ 2026-05-11
  • B300 跑通 deepseek/qwen 训练 https://infrawaves.feishu.cn/wiki/SDqdwRVdjiPojDk0ZBHcBsuRnBf?from=from_copylink ✅ 2026-05-21
  • debug 现在的 v2 代码为什么会出现 subreg失败,nccl-test正常能注册额,但是训练的时候强行注册反而失败。 机器gid 选择问题✅ 2026-06-08
  • 调整 batch0 的机内 alltoall 调度(把自己拷贝自己的 cudaMemcpyAsync 调度到机内 batch0 的最后一次) https://github.com/sii-research/VCCL/pull/57 ✅ 2026-06-24