已合并
test(golden): 升级 INInferV2 TestSpec #8513
test(golden): 升级 INInferV2 TestSpec #8513
已合并
raoliang_sac创建于 8月11日
raoliang_sac成员
8月11日

描述

本次仅更新 norm/in_infer_v2/tests/assets/golden.py

  • 引入 __spec__ TestSpec 注册,kernel 与 GEIR 共用 in_infer_v2 算子键和 Spec。
  • 使用 Promote 感知的 Torch CPU true-value,保留框架提供的 FP64 输入,不再强制降为 FP32。
  • 增加独立 Torch third-party composition,按 arch35 kernel 的 FP32 运算顺序执行,并配置 FP16/FP32 cross_check 容差。
  • 保留兼容旧加载器的 __golden__,并与 TestSpec 复用同一计算核心。
  • 删除无真实接口支撑的 ACLNN golden 注册;该算子配置为 ACLNNTYPE aclnn_exclude,不新增 ACLNN 或 e2e 通路。

关联的Issue

关联 Issue #4684:https://gitcode.com/cann/ops-nn/issues/4684

测试

  • pre-commit run --files norm/in_infer_v2/tests/assets/golden.py:通过。
  • Python AST/import、TestSpec 惰性加载与注册检查:通过。
  • FP16/FP32、gamma/beta 有无、不同 rank/统计量 shape、Promote 输出 dtype 与 third-party 本地语义检查:通过。
  • TTK 用例校验:100/100 valid;覆盖 FP16/FP32 各 50 条、gamma/beta 有无、rank 2~5、epsilon 与 inner 边界。
  • TTK kernel release binary + Promote 双向精度验证:100/100 PASS;三个输出均 PASS,内存越界检查 100/100 PASS。
  • TTK GEIR release 集成冒烟:FP16 无 gamma/beta 与 FP32 有 gamma/beta 共 2/2 PASS,三个输出均 PASS。

文档更新

无,本次仅更新 golden 测试资产。

类型标签

AI/Agent生成声明

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 raoliang_sac 的贡献)
Rraoliang_sac成员
8月11日 创建了 pull request,commit 4b39b945
atomgit-bot
atomgit-bot
8月11日 评论:

变更摘要

本次变更对 norm/in_infer_v2/tests/assets/golden.py 进行 TestSpec 规范升级:引入 __spec__ 注册机制使 kernel 与 GEIR 共用 in_infer_v2 算子键和 INInferV2KernelSpec;核心计算改为 Promote 感知的 Torch CPU true-value 路径,保留框架传入的 FP64 输入而不再强制窄化为 FP32;新增独立的 _INInferV2Compose third-party 组合类以对齐 arch35 kernel 的 FP32 运算顺序;删除无真实接口支撑的 ACLNN golden 注册;同时保留兼容旧加载器的 __golden__ 入口并与 TestSpec 复用同一计算核心。

主要改动

  • 引入 __spec__ TestSpec 注册与 INInferV2KernelSpec:新增 __spec__ = {"in_infer_v2": "INInferV2KernelSpec"} 注册,INInferV2KernelSpec 聚合了 goldenthird_partytolerance 三个字段,统一 kernel/GEIR 的测试规格入口。
  • 删除 ACLNN golden 注册:从 __golden__ 字典中移除 "aclnn" 条目,删除 aclnn_in_infer_v2_golden 函数,并在文件末尾注释说明该算子配置为 ACLNNTYPE aclnn_exclude,无真实接口支撑。
  • 计算核心改为 Promote 感知的 dtype 策略:新增 _reference_dtype 函数,通过 torch.promote_types 自动选择至少 FP32 且保留更宽浮点类型(如 FP64)的计算精度;_compute 函数改用 to(dtype=compute_dtype) 替代旧版强制 to(torch.float32),不再丢失框架 Promote 传入的高精度输入。
  • 新增 _INInferV2Compose 独立 Torch third-party 组合类:按 arch35 kernel 的 FP32 运算顺序实现(先算 scale = gamma / sqrt(var+eps),再逐元素乘加),仅接受 FP16/FP32 的 x 输入,并配置了 _TOL 字典为 FP16 和 FP32 提供 cross_check L1 容差。
  • 重构输入/输出适配层:新增 _as_tensor_stat_matrix_numpy_outputs_kernel_golden 等辅助函数,将旧版 in_infer_v2_golden 抽稀为对 _kernel_golden 的委托调用,_resolve_epsilon 支持新旧属性格式兼容,in_infer_v2_golden 作为兼容旧加载器的 __golden__ 入口保留。
likedislike
不准确?
atomgit-bot
atomgit-bot
8月11日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
8月11日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
8月11日 评论:

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
norm 刘波, 唐玮玮, 汤平川 (3/2) 汤平川 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)
likedislike
CANN-robot
CANN-robot成员
8月11日 评论:

CLA Signature Pass

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

likedislike
CANN-robotCANN-robot成员
8月11日 将zengjuan,chaotang233,kevin_huang1234,crystalhu,yangyang016,fanqirui,renruhai,su-yueming,zhajianqing123,chenqi317,wang-xing001,liubo75,tangweiwei2,liujie12345678,pingchuantang,Chen_HaoWen设为评审人
CANN-robotCANN-robot成员
8月11日 将kevin_huang1234,renruhai,su-yueming,zhajianqing123,wang-xing001,liujie12345678,pingchuantang,Chen_HaoWen设为审查人
Rraoliang_sac成员
8月11日 修改了pull request 的描述
Rraoliang_sac成员
8月11日 修改了pull request 的描述
raoliang_sac成员
8月11日 评论:

compile

likedislike
Rraoliang_sac成员
8月11日 预合并成功(commit_id: 1f368066845a76a852a33ef9d3c3d9dce6affd3c)
CANN-robotCANN-robot成员
8月11日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
8月11日 评论:

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

任务名称状态日志下载链接
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_single ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_experimental ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_950 ✅ SUCCESS >>>>> >>>>>
Compile_Pre ✅ SUCCESS >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_single_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910b ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910c ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_950 ✅ SUCCESS >>>>> >>>>>
Compile_classify ✅ SUCCESS >>>>>
Compile_Ascend_X86_mobile_station_9030_ubuntu24 ✅ SUCCESS >>>>> >>>>>
UT_Test_ophost ✅ SUCCESS
UT_Test_opapi ✅ SUCCESS
UT_Test_kernel ✅ SUCCESS
UT_Test_opgraph ✅ SUCCESS
PreSmoke_A900 ✅ SUCCESS >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_ATK_Test_A2 ✅ SUCCESS >>>>>
UT_Test_harmony-infer-chs-nn ✅ SUCCESS
UT_Test_harmony-infer-chs-nn-1 ✅ SUCCESS
UT_Test_harmony-infer-cpro-nn ✅ SUCCESS
UT_Test_report_lcov ⚠️ WARNING >>>>>

[2026-08-11 09:35:12]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
8月11日 评论:

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

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

[2026-08-11 09:20:25]    CI执行结束

likedislike
CANN-robotCANN-robot成员
8月11日 添加了label:api-check-pass
CANN-robotCANN-robot成员
8月11日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
8月11日 添加了label:ci-pipeline-passed
TangPC
TangPC成员
8月11日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
8月11日 添加了label:approved
liubo75成员
8月11日 评论:

/lgtm
/approve

likedislike
tangweiwei2成员
8月11日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
8月11日 添加了label:lgtm
CANN-robotCANN-robot成员
8月11日 关闭了关联的issue
CANN-robotCANN-robot成员
8月11日 合入了pull request