已关闭
[Bug-Report|缺陷反馈]: ReduceStdV2Update 异常校验及 GEIR 验证不完整 #2518
zhongheng创建于  8月5日关闭于  8月12日
zhongheng
8月5日 创建

一、问题描述 (必填)

ReduceStdV2Update 在整改前存在以下验证缺口:

  1. Tiling 缺少对 x/mean/output_var 非 ND 格式和 x rank 超过 8 维的显式拦截。
  2. mean 虽然存在与 x 的 dtype 一致性检查,但缺少针对 mean 自身支持类型范围的独立校验和用例。
  3. 缺少能够证明 dtype、format、rank、属性值域及 Shape 约束由算子 Tiling 生效的 GEIR 异常测试。
  4. 原静态 GEIR example 对输出数量、Shape、dtype、buffer 大小及数值完整性的检查不充分。
  5. 缺少 -1 动态维度和 -2 动态 rank 的 GEIR 实跑验证。

上述问题导致 transfer-test 第 5 项及第 9~13 项缺少完整、可追溯的代码和运行证据。

二、环境信息 (可选)

  • 昇腾硬件型号:Ascend950DT
  • CANN版本:9.2.0
  • 操作系统:Linux x86_64
  • 算子仓:cann/ops-math
  • 算子:ReduceStdV2Update

三、重现步骤 (可选)

  1. 编译 ReduceStdV2Update 的 Ascend950 算子包及 op_host UT。
  2. 构造以下异常输入并通过 GEIR 图模式执行:
    • x 或 mean 使用不支持的 dtype;
    • x 与 mean dtype 不一致;
    • x、mean 或 output_var 使用非 ND 格式;
    • x 使用 9 维 Shape;
    • correction 或 dim 超出支持范围;
    • mean 与 x 的 Shape/Rank 不一致。
  3. 检查异常是否明确到达 ReduceStdV2Update Tiling,并确认拒绝用例未发射算子 kernel。
  4. 使用 [-1, -1][-2] 声明动态图,分别输入多组具体 Shape 执行。
  5. 检查静态和动态 GEIR 输出的数量、Shape、dtype、buffer 大小及数值。

整改前缺少上述完整拦截和测试证据。

四、预期结果 (可选)

  1. 不满足接口约束的 dtype、format、rank、属性及 Shape 输入应在 ReduceStdV2Update Tiling 阶段明确失败,且不得发射算子 kernel。
  2. 合法的 GEIR Cast 输入应在 Cast 后以受支持 dtype 进入算子,并成功执行 kernel。
  3. 静态 GEIR 应完整校验输出数量、Shape、dtype、buffer 大小、有限值和数值精度。
  4. -1 动态维度和 -2 动态 rank 场景应能够使用同一自定义算子包执行,并通过 Shape、dtype 和数值校验。
  5. 对应约束应具有 op_host UT 和 GEIR 实跑证据。

💡 备注(选填)

本问题仅整改 ReduceStdV2Update 的 Tiling 约束及静态、动态、异常 GEIR 验证,不涉及:

  • kernel 计算逻辑修改;
  • 算子原型修改;
  • V1 InferShape 实现或测试修改;
  • tests/ut/op_host/CMakeLists.txt 修改;
  • canndev 与开源仓既有 InferShape 重复问题。
likedislike
zhongheng
8月5日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
8月5日 将 zhongheng 设为负责人
Zzhongheng
8月5日 关联了pull request:fix: 完善ReduceStdV2Update Tiling异常输入校验
Zzhongheng
8月10日 修改标题为 “[Bug-Report|缺陷反馈]: ReduceStdV2Update 异常校验及 GEIR 验证不完整”,原标题为“[Bug-Report|缺陷反馈]: ReduceStdV2Update Tiling异常输入校验与GEIR取证不完整”
Zzhongheng
8月10日 修改了issue 的描述
CANN-robotCANN-robot成员
8月12日 关闭了 issue
CANN-robotCANN-robot成员
8月12日 添加了label:resolved