已关闭
[Bug-Report|缺陷反馈]: 三个 math Golden 的 Promote 与三腿契约不一致 #3496
raoliang_sac创建于  17 天前关闭于  17 天前
raoliang_sac成员
17 天前 创建

Describe the current behavior / 问题描述

AddV2、MulNoNan、TensorRedirect 的 Golden 同时声明 TF GPU provider,与固定 Torch GPU 标杆规范不符。MulNoNan 的 CPU kernel Golden 将所有浮点中间值转成 FP32,撤销 TTK 的 FP64 Promote;TF E2E 自定义 Golden 用 NumPy 并无条件手工升精度。

Environment Information / 环境信息

  • 主线基线:f53b52a3e7deaedca104d82c453c99900de60b25。
  • Python 3.12.9、TensorFlow CPU 2.21.0、Torch 2.7.1+cpu、NumPy 1.26.4。
  • 本地 TTK:72ab72bfbf624cae84305df9fff0dfffd107ca68。
  • 本次只验证 Python Golden;未使用 NPU/CANN 或远程 GPU。

Steps to reproduce the issue / 重现步骤

  1. 读取三个算子的 tests/assets/golden.py,核对 third_party 与 Golden 编写规范。
  2. 给 MulNoNan kernel Golden 的两个输入传入 FP64 [1+2**-23],模式为 Promote。
  3. 精确乘积为 1+2**-22+2**-46,主线因 FP32 中间值丢掉 2**-46。
  4. 检查 MulNoNan TF E2E Spec:CPU 使用 NumPy 自定义 Golden,GPU 使用 TF provider。

Describe the expected behavior / 预期结果

CPU 浮点 Promote 保留 TTK 下发类型;MulNoNan 已有 TF E2E,CPU 使用 TensorFlow;GPU 固定 Torch,低精度类型跟随 kernel 加宽再窄回。TensorRedirect 保持逐位拷贝,完整 dtype tolerance 和 legacy 注册保留。

3 个 Golden 的 CPU 回归 248/248 通过,包含修改前后对照、独立参考、全部声明 dtype、TF E2E CPU 默认通路及 TensorRedirect 逐位校验。代码格式、静态检查通过;不代表 NPU 算子精度或性能验收。

Special notes for this issue / 备注

仅整改三个 Golden 文件,不改 kernel、Host、Parser、TTK。MulNoNan int32 使用 TF 乘法与 Select 组合,保持原有整数溢出和第二输入零掩码语义。

关联 PR:https://gitcode.com/cann/ops-math/merge_requests/6247

输入输出自查

修复 MulNoNan 在标量输入下返回 NumPy scalar 的兼容问题,使用 np.asarray(output.numpy()) 保持原来的零维 ndarray,不转换 dtype 或改变数值。新增 legacy/Spec 的签名、返回容器、输出数量/顺序/shape/dtype、输入不被改写、Promote 元信息及真实 TTK 服务端 CPU 参数绑定检查。默认 TF E2E 标量输出另经真实 TTK 比对器验证兼容。

两仓累计 Golden CPU 自查 447/447 通过,本仓 248/248。未执行 NPU/远程 GPU、算子性能或算子精度测试。当前受检 HEAD:2ed0535b23f764e6efbae7ded2d6d5513baa33dc。

本地 CI

统一入口 /workspace/CI-skills/ci_local_check.sh 定向检查通过;pre-commit、隔离 oat-py 1.0.3、Ascend 950 与 A2(ascend910b)定向 package/UT 已通过。构建并行度最多 8,使用任务目录内 CANN_Revise 的 0923 Toolkit/ops。

受测 HEAD:2ed0535b23f764e6efbae7ded2d6d5513baa33dc;rebase 主仓 master:f53b52a3e7deaedca104d82c453c99900de60b25;本轮 CI 基线快照:f53b52a3e7deaedca104d82c453c99900de60b25。每仓相对 rebase 基点仅 1 个提交,squash 前后完整 diff 和 tree 一致,7 个 Golden 内容不变。

覆盖边界:下列定向 UT 阶段未执行用例(0 项或仅构建目标):opapi/ascend950、opgraph/ascend950、opapi/ascend910b、opgraph/ascend910b、opkernel/ascend910b。不将这些阶段的构建通过计为用例覆盖。

线上 CI 触发凭据:https://gitcode.com/cann/ops-math/merge_requests/6247#note_193365306。仅记录已触发请求/现有任务,不表示线上 CI 已通过。

likedislike
Rraoliang_sac成员
17 天前 添加了label:bug-report
Rraoliang_sac成员
17 天前 修改了issue 的描述
Rraoliang_sac成员
17 天前 修改了issue 的描述
Rraoliang_sac成员
17 天前 修改了issue 的描述
CANN-robotCANN-robot成员
17 天前 关闭了 issue
CANN-robotCANN-robot成员
17 天前 添加了label:resolved