已关闭
[Bug-Report|缺陷反馈]: Div/Mod 类算子多项代码缺陷修复 #1184
zhang-song-rui创建于  4月7日关闭于  4月17日
zhang-song-rui
zhang-song-rui成员
4月7日 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

一、问题描述

  1. Addcdiv Tiling 入口空指针先使用后判断
  • 文件:math/addcdiv/op_host/arch35/addcdiv_tiling_arch35.cpp 第 145-152 行
  • 描述:TilingForAddcdiv 在 null 检查之前调用 context->GetNodeName(),当 context 为 nullptr 时直接崩溃。同仓 Div、DivNoNan、FloorDiv、FloorMod、Mod 均为"先判空再使用",仅 Addcdiv 顺序错误。
  1. aclnn_div IsRealDivSupportNonContiguous 参数传错
  • 文件:math/div/op_api/aclnn_div.cpp 第 451 行
  • 描述:处理 other 输入时,IsRealDivSupportNonContiguous 误传了 self。当 self 支持非连续而 other 不支持时,会跳过 other 的 Contiguous 转换,导致计算结果错误。
  1. FloorMod 和 Mod tiling 中 sizeof 使用错误
  • 文件:math/floor_mod/op_host/arch35/floor_mod_tiling_arch35.cpp 第 76 行、math/mod/op_host/arch35/mod_tiling_arch35.cpp 第 80 行
  • 描述:sizeof(input0Dtype) 取的是枚举变量本身大小 但是kernel内所有的数据类型都是float。
  1. Pow PowAiCore 未检查 ADD_TO_LAUNCHER_LIST_AICORE 返回值
  • 文件:math/pow/op_api/pow.cpp 第 56-58 行
  • 描述:同仓 Div 等算子均对返回值做了 OP_CHECK,仅 Pow 缺少,失败时会静默返回而非报错。
  1. Div l0op 不可达代码
  • 文件:math/div/op_api/div.cpp 第 103 行
  • 描述:if-else 两个分支均已 return,末尾的 return divOut 永远不可达。

二、环境信息
950

三、重现步骤

  1. 问题 1:异常场景 context 为 nullptr → 进程崩溃
  2. 问题 2:self 为非连续支持、other 为非连续不支持 → Div 计算结果错误
  3. 问题 4:FloorMod/Mod 使用 float16/bf16/int64 输入 → tiling buffer 计算偏差

四、预期结果

  1. Addcdiv context 为空时安全返回错误码,不崩溃
  2. 处理 other 时应检查 other 自身的非连续支持性
  3. 使用 sizeof(float) 获取正确的数据类型字节数
  4. Pow 应检查 launcher list 添加是否成功
  5. 修改return写法
likedislike
zhang-song-ruizhang-song-rui成员
4月7日 关联了pull request:fix: 修复 div/mod 类算子多项代码缺陷
zhang-song-ruizhang-song-rui成员
4月8日 修改了issue 的描述
sunchun成员
4月9日 评论:
likedislike
CANN-robotCANN-robot成员
4月9日 将 zhang-song-rui 设为负责人
zhang-song-ruizhang-song-rui成员
4月9日 修改了issue 的描述
zhang-song-ruizhang-song-rui成员
4月16日 修改了issue 的描述
zhang-song-ruizhang-song-rui成员
4月16日 修改了issue 的描述
zhang-song-ruizhang-song-rui成员
4月16日 修改了issue 的描述
zhang-song-ruizhang-song-rui成员
4月16日 修改了issue 的描述
CANN-robotCANN-robot成员
4月17日 关闭了 issue
CANN-robotCANN-robot成员
4月17日 添加了label:resolved