已关闭
[Requirement|需求建议]: BNTrainingReduce 算子支持 NCDHW 格式 #5085
yulianjie创建于  13 天前关闭于  9 天前
yulianjie成员
13 天前 创建

Backgroud(背景信息)

BNTrainingReduce 用于在训练阶段保留输入张量的 C 轴,并归约其余维度,输出每个通道的元素和 sum 与平方和 square_sum。

当前 Ascend 950 GE 内核已支持 NCHW 2~4 维和 NHWC 4 维,但缺少 NCDHW 5 维格式支持,无法直接覆盖输入形状为 [N, C, D, H, W] 的三维 BatchNorm 训练场景。需要为 GE 图模式补充 NCDHW 5 维支持,沿 N、D、H、W 轴归约并保留 C 轴;ACLNN 接口继续保持仅支持 NCHW 的既有契约。

Origin(信息来源)

来源于 cann/ops-nn 社区 PR #9089 对 BNTrainingReduce Ascend 950 GE 通路格式能力的扩展需求:
https://gitcode.com/cann/ops-nn/pull/9089

需求提交与实现人:lianjieyu。

Benefit / Necessity (价值/作用)

  • 支持三维卷积、视频及医学影像等模型中的 5D BatchNorm 训练归约场景。
  • 避免上层图为 NCDHW 输入额外增加格式转换或自定义归约逻辑。
  • 统一 OpDef、InferShape、Tiling、Kernel、GEIR 示例和 README 对 NCDHW 能力的声明,降低接口契约不一致风险。

Design(设计方案)

  • 在 Ascend 950 OpDef 中为 FLOAT16、BFLOAT16、FLOAT 输入补充 NCDHW 格式组合;sum 和 square_sum 固定为 FLOAT,并保持与输入一致的 GE 格式元数据。
  • InferShape 按格式识别通道轴:NCHW/NCDHW 取第 1 维,NHWC 取第 3 维;支持 NCHW 2~4 维、NHWC 4 维、NCDHW 5 维,拒绝 NDC1HWC0 及格式/Rank 不匹配输入。
  • 扩展公共 Tiling 输入形状容量和格式枚举,增加 NCDHW 路由及输入/输出 Shape 校验;兼容逻辑输出 [C] 和仅通道维非 1 的展开输出。
  • ACLNN 通路继续仅接受 NCHW;将一维输出在 AICore 调用前扩展为 NCHW 四维视图,保持既有接口行为。
  • 更新 GEIR 示例的 NCDHW 格式解析与打印,补充 InferShape、Tiling 和 ACLNN 契约 UT,并同步 README。

验收要点:NCDHW 5 维的 FLOAT16、BFLOAT16、FLOAT 输入可在 Ascend 950 GE 通路正确归约为每通道 FLOAT 输出;原有 NCHW/NHWC 能力无回归;非法格式和 Rank 能被拒绝;相关 UT 与仓库 CI 通过。

likedislike
Yyulianjie成员
13 天前 添加了label:requirement
Yyulianjie成员
13 天前 关联了pull request:bn_training_reduce算子支持NCDHW
yuning_chenyuning_chen成员
13 天前 将 lianjieyu 设为负责人
CANN-robotCANN-robot成员
9 天前 关闭了 issue
CANN-robotCANN-robot成员
9 天前 添加了label:resolved