Closed
[Bug-Report|缺陷反馈]: 三个 math Golden 的 Promote 与三腿契约不一致 #3496
raoliang_sacAdd on 25 days agoClosed at 25 days ago
25 days ago Added label: bug-report
25 days ago Modify description of issue
25 days ago Modify description of issue
25 days ago Modify description of issue
25 days ago Close issue
25 days ago Added label: resolved
7 days ago Assign raoliang_sac as responsible person
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。72ab72bfbf624cae84305df9fff0dfffd107ca68。Steps to reproduce the issue / 重现步骤
tests/assets/golden.py,核对third_party与 Golden 编写规范。[1+2**-23],模式为 Promote。1+2**-22+2**-46,主线因 FP32 中间值丢掉2**-46。Describe the expected behavior / 预期结果
CPU 浮点 Promote 保留 TTK 下发类型;MulNoNan 已有 TF E2E,CPU 使用 TensorFlow;GPU 固定 Torch,低精度类型跟随 kernel 加宽再窄回。TensorRedirect 保持逐位拷贝,完整 dtype tolerance 和 legacy 注册保留。
Related log / screenshot / 日志 / 截图
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 已通过。