已关闭
[Requirement] 将 BIRS 批量不变性扩展至变长 ReduceScatterV(ReduceScatterVBIRS / ReduceScatterVBIRSInter) #528
Davydov_Danil创建于 7月28日关闭于 12 天前
7月28日 修改了issue 的描述
DDavydov_Danil
7月28日 关联了pull request:将 BIRS 批量不变性扩展至变长 ReduceScatterV(ReduceScatterVBIRS / ReduceScatterVBIRSInter)
7月28日 关联了pull request:将 BIRS 批量不变性扩展至变长 ReduceScatterV(ReduceScatterVBIRS / ReduceScatterVBIRSInter)
Leewis
7月29日 评论:
7月29日 评论:
/assign @Davydov_Danil


7月29日 将 Leewis 设为负责人
7月29日 将 Davydov_Danil 设为负责人,移除负责人 Leewis
Leewis
12 天前 评论:
12 天前 评论:
12 天前 添加了label:resolved
[Requirement] 将 BIRS 批量不变性扩展至变长 ReduceScatterV(ReduceScatterVBIRS / ReduceScatterVBIRSInter)
Issue 类型: Requirement
关联: 扩展已合入 RFC 0001(cann/hccl#657)BIRS(均匀 ReduceScatter);相关 Issue cann/hccl#96、cann/hcomm#139
背景与动机
RFC 0001 已为均匀
HcclReduceScatter引入 BIRS(Batchsize Invariant ReduceScatter)算法:在 A3(SIO + HCCS 混合拓扑)上对大消息相比 RHD 提升约 25%,并保证确定性规约顺序(bit-identical)。但 RFC 0001 仅覆盖各 rank 接收量一致的场景。实际业务中存在变长 ReduceScatter 需求(
HcclReduceScatterVAPI:各 rank 的recvCounts/sendDispls可不同),典型场景:当前变长场景无批量不变性算法,仍走 RHD/其他路径,无法保证不同 batch 划分下位级一致——这与 RFC 0001 §Background 列举的 RLHF/PPO、vLLM 批量不变性、CI 复现等需求存在缺口。
业务价值
HcclReduceScatterV,通过环境变量选路,对用户透明。HCCL_BIRS_ENABLE+ENABLE_EXPERIMENTAL=ON双闸与 experimental 公共件(op_common_experimental、topo_experimental、alg_template_base_experimental)。大致技术方案
在
experimental/ops/reduce_scatter_v/birs/下新增 BIRS 的变长模板(代码已就位,本 Issue/RFC 用于补齐流程合约):ReduceScatterVBIRSbirs/template/reduce_scatter_v_birs.{cc,h}ReduceScatterVBIRSInterbirs/template/reduce_scatter_v_birs_inter.{cc,h}ReduceScatterVBIRSReduceScatterVBIRSExecutorbirs/reduce_scatter_v_birs_executor.{cc,h}CalcResRequest/KernelRun/SelectAndPrepareBirsVTemplate,按是否单服务器选 Inter/IntraReduceScatterVExperimental/MatchBIRSVreduce_scatter_v_op_experimental.{cc,h}HcclReduceScatterV→ 环境变量选路关键差异(相对均匀 BIRS):
slices_由外部按sendDispls/sendCounts传入变长切片;slices_[rank].size;localStrideSize(RoundUp(maxSliceSize, HCCL_MIN_SLICE_ALIGN_910B))为统一步长;localStrideSize * serverNum_为单位连续传输:各 rank 接收量一致时与原 BIRS 完全等价;不一致时 SUM 保证正确(scratch 对应区域清零),PROD/MAX/MIN 建议各 rank 接收量保持一致(约束写入文档与错误日志);Intra 变体(ReduceScatterVBIRS)对所有规约均完全正确。约束与适用条件
rankSize:偶数(典型 4 / 8 / 16)。HCCL_MIN_SLICE_ALIGN_910B。验收标准
HCCL_BIRS_ENABLE=FALSE(默认)时既有 ReduceScatterV 行为不受影响(回归)。测试要求
test/st/algorithm/testcase/下新增变长 BIRS 用例(参考既有reduce_scatter_testcase_a3.cc)。后续流程
依
CONTRIBUTING.md「增加新功能或新特性」:本 Issue 经 SIG 接纳(accepted)后 → 提交取号 PR(在docs/zh/rfcs/INDEX.md占位0002,状态reserved)→ 按docs/zh/rfcs/0000-template.md撰写 RFC 文档 PR → 评审合入(accepted)→ 代码 PR(experimental/)合入。