Open
[Bug-Report|缺陷反馈]: 原生推导注册迁移及配套CANN集成验证 #6956
raoliang_sacAdd on  21 days ago
raoliang_sacCollaborators
21 days ago Create

2026-10-22当前交付范围:

复用本任务已有Issue,不重复建单。拆分后各自单提交,组合patch/tree与原提交一致;旧CI/设备结果保持原SHA归属。L2示例的集成构建问题已在PR #12515加入入口隔离修复,配置复现对照和独立示例编译链接通过;尚不声明线上CI通过。配套CANN集成验证仍待完成,不要求官方发布包。下文为拆分前历史记录。


2026-10-21统一交付: 原PR #12383的全部修改已归入https://gitcode.com/cann/ops-nn/pull/12376,统一提交`ee32add3c8cab98119bf26641a87b2e887686367`。当前包含Relu6Grad原生V1桥接删除,正式canndev配套包验证仍未完成,不能沿用历史兼容版本的普通环境通过结论。以下既有验证记录保留原受测提交归属。

本Issue保持open,用于统一PR的正式包集成验证待办。

一、问题描述

L2Normalize、INTrainingReduceV2 自带的 V1 优先于 runtime 2.0;Relu6Grad 旧推导拒绝双向广播。需要删除原生 V1、保留 L2 原始图描述 Verify,并在 op_graph 提供 Relu6Grad dtype 推导与一致性检查。

二、环境信息

  • Ascend950PR_9579、Ascend910_9362;任务目录独立 CANN_Master / CANN_Revise。
  • Toolkit 9.3.0、现有 ops version.info 9.2.0(20260923);不是 CANN 9.0.0 验证。
  • 本仓基点:e21e1cb1259529908c5ac895d89c0b7eb907d054。
  • TTK 9e74ae65ec9dd7e2ed9fbb5432f4e6b1d8ee72be,GEIR、--pc=1、单设备。

三、重现步骤

  1. 构建对应原生算子包,使用静态和动态 GEIR 冻结输入执行。
  2. 对照 GE 推导日志和回调所属动态库,检查是否仍进入 V1 或 canndev 中与原生实现竞争的 V2。
  3. Relu6Grad 对照 gradient 标量、交叉广播;RaggedBinCount 在注册 UT 中检查 values/weights 输入 shape 不被推导改写。
  4. 同时保留 A3 canndev 注册进行存量输入回归,避免用 A5 的扩展输入契约替代 A3 约束。

四、预期结果

现有隔离名单产品由原生 V2 接管 shape/dtype,必要的输入及原始图描述校验保留。定义 TILING_REG_FLAG 的产品保持 canndev 原注册;算法、kernel、tiling 不变。

五、验证与未完成项

  • 基点:ops-nn e21e1cb1259529908c5ac895d89c0b7eb907d054;基线/修改版使用独立 CANN_Master / CANN_Revise,Toolkit 9.3.0,ops 包 version.info 9.2.0(20260923)。
  • Ascend 950 定向包基线和修改版均编译、安装成功:bash build.sh --pkg --ops=l2_normalize,in_training_reduce_v2,relu6_grad,normalize_bbox --soc=ascend950 --vendor_name=registry_migration -j8。
  • 同组 Host/Graph UT:196 + 21 = 217 全部通过。
  • TTK SHA 9e74ae65ec9dd7e2ed9fbb5432f4e6b1d8ee72be;GEIR、--pc=1、单设备、冻结输入/仓库原有 golden,Promote/stat_rel_err。本仓 A5 修改版 40 条用例,两条路径共 80 次执行通过:INTrainingReduceV2 14、L2Normalize 10、Relu6Grad 12、NormalizeBBox 4。L2 中 2 条为空 Tensor,只计执行/shape 覆盖。
  • INTrainingReduceV2 覆盖 FP16/FP32、NCHW/NHWC/NCDHW/NDHWC、ND rank 2/3/8;Relu6Grad 覆盖 FP16/FP32/BF16、等形、单边标量及交叉广播。4 条 BF16 首次因手工 golden 文件编码不兼容而比较失败,经断言可无损编码为 BF16 后重跑通过,未修改公式/阈值。
  • A5 基线 Relu6Grad 的 gradient 标量、交叉广播两条用例在图推导阶段失败,修改版通过。修改版诊断未进入目标 V1;V2 shape/dtype 指针来源为新构建的原生算子图推导库。
  • A3 Ascend910_9362:L2Normalize、Relu6Grad 各 2 条用例的基线/修改版静态动态均通过;NormalizeBBox 各 2 条符合存量约束的 rank-3 静态用例通过,未声称支持 A3 动态路径。A3 保留并实际进入 canndev V1。
  • A3 INTrainingReduceV2 未通过:现有基线安装包的逻辑格式用例已在 Tiling4INTrainingReduceV2 报“当前芯片不支持”;修改版同样受阻。排除已安装旧原生 V1 后,私有格式诊断已进入 canndev 保留的 V1 并成功返回,随后仍被安装包 tiling 阻塞。这不是精度通过,需匹配的 A3 产品包补验。

验证边界:A5 为真实原生算子包,进程内诊断省略旧安装包的 V1 注册;A3 为当前源码编译的 ARM 图推导库搭配存量 kernel。canndev 正式包因本地 SDK 缺少 alog 等内部构建依赖尚未构建,诊断不替代正式整包集成验证。本轮未执行全量本地 CI、GPU 三方精度或性能对比。

关联 PR

https://gitcode.com/cann/ops-nn/pull/12376

配套 PR:

July接手后的状态(2026-10-20)

五算子均接手,RaggedBinCount排除。重合修复归入质量PR #12376/#6533,保留当前CANN所需的Relu6Grad兼容入口。PR #12383相对168b69ee8dda61a6a5d292ec69b1d1e6154d5e82的生产代码差异仅为移除该入口的最终清理,提交c8a51b20e329c8c19234fdc42079d4858e1c7329,依赖前置PR和canndev PR #82602正式包验证。July完整候选21条/42次NN诊断通过,但普通环境Relu6Grad交叉广播失败;正式canndev包缺少alog/opensdk内部依赖,不能宣称已完成集成验证。历史UT与另一设备证据保持原归属。

关联PR:https://gitcode.com/cann/ops-nn/pull/12383。前置PR:https://gitcode.com/cann/ops-nn/pull/12376。配套PR:https://gitcode.com/cann/canndev/pull/82602。

README精简(2026-10-21)

Relu6Grad、L2Normalize README删除多余的编译运行段落,保留原有调用表、示例和算子IR链接。示例源码、CMake配置及算子实现未变。

2026-10-21文档精简提交c8a51b20e329c8c19234fdc42079d4858e1c7329:完成本次范围的README检查、链接/调用表渲染、diff及提交钩子检查;确认相对上一提交仅README变化,未重跑NPU、TTK或构建。此前设备验证仍归属原受测提交。

likedislike
Rraoliang_sacCollaborators
21 days ago Modify description of issue
yuning_chenyuning_chenCollaborators
21 days ago Assign raoliang_sac as responsible person
Rraoliang_sacCollaborators
21 days ago Change title to "[Bug-Report|缺陷反馈]: 原生图推导被旧注册接管及 Relu6Grad 广播推导受限", originally titled "[Bug-Report|缺陷反馈]: L2Normalize 自定义 V1 优先注册使图编译绕过 runtime 2.0 推导".
Rraoliang_sacCollaborators
21 days ago Modify description of issue
Rraoliang_sacCollaborators
21 days ago Change title to "[Bug-Report|缺陷反馈]: 完成原生推导注册迁移及正式包集成验证", originally titled "[Bug-Report|缺陷反馈]: 原生图推导被旧注册接管及 Relu6Grad 广播推导受限".
Rraoliang_sacCollaborators
21 days ago Modify description of issue
Rraoliang_sacCollaborators
20 days ago Modify description of issue
Rraoliang_sacCollaborators
20 days ago Modify description of issue
Rraoliang_sacCollaborators
19 days ago Associated pull request
Rraoliang_sacCollaborators
19 days ago Change title to "[Bug-Report|缺陷反馈]: 原生推导注册迁移及配套CANN集成验证", originally titled "[Bug-Report|缺陷反馈]: 完成原生推导注册迁移及正式包集成验证".
Rraoliang_sacCollaborators
19 days ago Modify description of issue
Rraoliang_sacCollaborators
19 days ago Modify description of issue