已关闭
[Requirement|需求建议]: norm 族 4 个算子 golden 规范化 #6705
Sun创建于  11 天前关闭于  11 天前
Sun
Sun成员
11 天前 创建

Backgroud(背景信息)

norm 族 4 个算子的测试侧 golden 在三方比对方面存在问题,影响比对结果的有效性:

  • norm/bn3_d_training_update
  • norm/bn3_d_training_reduce_grad
  • norm/batch_norm_ext2
  • norm/gn_training_reduce

Origin(信息来源)

CANN

Benefit / Necessity (价值/作用)

  • 恢复三方比对的有效性:三方腿改为独立实现后,可捕获公式级/语义级错误,而不局限于被测方的独有劣化。
  • 消除假红 / 假绿:真值不砍档、出口窄回、竞品同精度档三处对齐后,比值判定才具备参考价值。
  • 判据覆盖完整:声明与算子定义的数据类型集合对齐,避免落回默认判据。

Design(设计方案)

对 4 个算子的 tests/assets/golden.py 做规范化,仅改动测试侧,不动算子实现、接口与 tiling:

  1. 真值不砍档:去掉 numpy 侧写死的 astype(np.float32) 与出口按声明 dtype 的窄回,改为按运行时下发的 dtype 取值。
  2. 入口/出口 cast 与落格一致:三方格零 cast;两方档按 NPU 加宽行为 cast、出口跟随其窄回行为。
  3. 三方腿出口按对应输入 dtype 窄回。
  4. 三方腿改用 torch 原生算符(如 F.batch_norm)实现,与 golden 计算核解耦。
  5. tolerance 键位与算子定义的数据类型集合逐一对齐。
  6. 补全各通路(kernel / geir / aclnn / e2e / tf / onnx)存在性的依据,头部 docstring 与实际实现同步。
likedislike
SunSun成员
11 天前 添加了label:requirement
SunSun成员
11 天前 将 LuckySun 设为负责人
CANN-robotCANN-robot成员
11 天前 关闭了 issue
CANN-robotCANN-robot成员
11 天前 添加了label:resolved