已合并
test: update AddV2 and TensorRedirect golden specs #4540
test: update AddV2 and TensorRedirect golden specs #4540
已合并
raoliang_sac创建于 5 天前
raoliang_sac成员
5 天前

描述

按照新的golden规范更新AddV2和TensorRedirect:

  • AddV2增加TestSpec注册,kernel与GEIR共用add_v2入口,并配置PyTorch三方标杆和分dtype精度标准。
  • 新增TensorRedirect golden,使用torch.clone实现逐bit拷贝,并覆盖全部11种支持的数据类型。
  • 保留仓库兼容的__golden__入口,与TestSpec共用同一计算实现。
  • 两个算子均不注册ACLNN和e2e通路,与ACLNNTYPE aclnn_exclude配置保持一致。

本PR描述仅体现上述golden修改;前置PR尚未合入产生的其他diff不属于本PR说明范围。

关联的Issue

#2559

测试

  • TTK TestSpec loader和validator检查通过。
  • AddV2改造前后11个代表用例逐位一致,覆盖广播、标量、空Tensor、整数边界、complex64和BF16。
  • TensorRedirect完成11种dtype共33个用例的逐位一致性验证,覆盖连续、非连续及空Tensor,并验证NaN payload、负零、Inf和非规格化数。
  • pre-commit全部检查通过。
  • git diff --check通过。

文档更新

不涉及文档更新。

类型标签

  • Bug修复
  • 新特性
  • 性能优化
  • 文档更新
  • 其他,请描述:测试与golden规范更新
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 raoliang_sac 的贡献)
Rraoliang_sac成员
5 天前 创建了 pull request,commit 1cffdabd
atomgit-bot
atomgit-bot
5 天前 评论:

变更摘要

本 PR 按照新的 golden 规范对 AddV2TensorRedirect 两个算子进行改造。AddV2 移除了混精度(mixed-dtype)支持,仅保留同 dtype 组合,并新增空 Tensor 处理分支与溢出防护;TensorRedirect 新增完整的 TestSpec golden 与图推导支持,同时加强 Tiling 阶段的边界校验。两个算子的 golden 均从旧式 __golden__ 字典迁移到 __spec__ TestSpec 注册,并保留旧入口以兼容仓库现有调用方。

主要改动

  • AddV2 移除混精度通路:删除 add_v2_graph_infer.cpp 中庞大的类型提升查找表 kPromoteTypesLookupPromoteType 函数,改为仅校验 x1/x2 同 dtype;同时移除 add_v2_binary.jsonBFLOAT16_FLOAT32FLOAT16_FLOAT32FLOAT32_BFLOAT16FLOAT32_FLOAT16 四组混精度二进制配置,add_v2_def.cpp 的 dtype 列表从 13 项精简为 9 项同类型组合。

  • AddV2 新增空 Tensor 处理:在 add_v2_struct_arch35.h 新增 AddV2EmptyTilingData 结构体及 userDef 模板参数(0=常规,1=空 Tensor);add_v2_tiling_arch35.cpp 新增 HandleEmptyTensor() 方法,当输出元素数为 0 时设置 blockDim=1 并走 schMode=999 的自定义分支,kernel 侧(add_v2.cpp)对应新增 userDef==1 的空返回路径。

  • AddV2 golden 迁移至 TestSpecmath/add_v2/tests/assets/golden.py 从手动 numpy/torch 混算重写为 AddV2KernelSpec 类,third_party 声明 torch.add,按 dtype 配置分精度标准(整数 binary_equal、浮点 cross_check L1、complex64stat_rel_err)。

  • TensorRedirect 新增 TestSpec golden 与图推导:新增 tensor_redirect_graph_infer.cpp 实现 InferDataType4TensorRedirect(从 tensor_redirect_infershape.cpp 拆分);新增 golden.py,以 torch.clone 实现逐 bit 拷贝,覆盖全部 11 种 dtype 且均标记 binary_equal 精度标准,并注册 __spec__ 入口。

  • Tiling 边界防护增强AddV2TensorRedirect 的 Tiling 均新增维度乘积溢出 int64_t 时的显式拦截(numel < 0 检查);TensorRedirect 额外新增逐维非负校验,防止 -1/-2 等动态占位符穿透到切分计算。

likedislike
atomgit-bot
atomgit-bot
5 天前 评论:

代码审查

✅ 未发现问题

likedislike
CANN-robotCANN-robot成员
5 天前 添加了label:stat/needs-squash
CANN-robotCANN-robot成员
5 天前 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
5 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
repo-cann/ops-math 宋恺, 汤平川 (2/2) 汤平川, 宋恺 (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

raoliang_sac, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robotCANN-robot成员
5 天前 将zhou-qilong,gitee-duhuiping,wangrui_,rxtfeng,loov1,tang-lei01,zhangzijie,jia0liang,zl_hw,songkai111,gitcode-chenjiao,pingchuantang,llimwang,zhouwenfang,gubaocheng,andong_hw,wangyongguang,wuyao51511,xuejinghui,zhanw_coding,caiwenwen设为评审人
此处折叠了7条事件消息 查看更多
CANN-robotCANN-robot成员
5 天前 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
5 天前 评论:

Notification

This pull request has been changed(code update) or closed, so removes the following label(s): stat/needs-squash.

likedislike
CANN-robotCANN-robot成员
5 天前 移除了评审人gitee-duhuiping,tang-lei01,gitcode-chenjiao,zhouwenfang,wangyongguang,wuyao51511,caiwenwen
CANN-robotCANN-robot成员
5 天前 移除了审查人gitee-duhuiping,tang-lei01,gitcode-chenjiao,zhouwenfang,wangyongguang,wuyao51511,caiwenwen
raoliang_sac成员
5 天前 评论:

compile

likedislike
Rraoliang_sac成员
5 天前 update merge request[project id: 7649531, iid: 4540, commit_id: 7708f58d4e73d7546d592f10ec8ef94e980b1713] virtual merging success
CANN-robotCANN-robot成员
5 天前 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
5 天前 评论:

流水线任务触发成功
任务链接 [aaff64e10a904c0eaccaac330ee12a49][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_harmony-infer ✅ SUCCESS >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_single_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910b ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910c ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_A5_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_A5_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station_9030_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_single ✅ SUCCESS >>>>> >>>>>
UT_Test ✅ SUCCESS
UT_Test_experimental ✅ SUCCESS
UT_Test_kernel ✅ SUCCESS
PreSmoke_A900 ✅ SUCCESS >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_ATK_Test_A2 ✅ SUCCESS >>>>>
UT_Test_harmony-infer-chs-math ✅ SUCCESS
UT_Test_harmony-infer-cpro-math ✅ SUCCESS

[2026-08-10 19:23:25]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
5 天前 评论:

流水线任务触发成功
任务链接 [2a28baa5b30a4e0dad09372e186b2993][流水线指导]

任务名称状态日志下载链接
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_Pr ✅ SUCCESS
StaticCheck_codespell ✅ SUCCESS
StaticCheck_link_validity ✅ SUCCESS
StaticCheck_resource_existence ✅ SUCCESS
StaticCheck_tag_closed ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_precommit ✅ SUCCESS >>>>>

[2026-08-10 19:12:10]    CI执行结束

likedislike
CANN-robotCANN-robot成员
5 天前 添加了label:api-check-pass
CANN-robotCANN-robot成员
5 天前 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
5 天前 添加了label:ci-pipeline-passed
raoliang_sac成员
5 天前 评论:

@zhangzijie 子杰哥帮我加个分,我是饶亮

likedislike
TangPC
TangPC成员
5 天前 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
5 天前 添加了label:approved
songkai111成员
5 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
5 天前 添加了label:lgtm
CANN-robotCANN-robot成员
5 天前 关闭了关联的issue
CANN-robotCANN-robot成员
5 天前 合入了pull request