已关闭
[Bug-Report|缺陷反馈]: SplitD负split_dim整除校验使用非法维度索引 #3506
sujunwei3创建于  24 天前关闭于  24 天前
sujunwei3
24 天前 创建

一、问题描述 (必填)

SplitD的CheckSplitParams在校验输入维度能否被num_split整除时,未先将负数split_dim转换为非负索引,直接调用GetDim(split_dim)。负数转换为size_t后会得到非法索引,使校验结果依赖无效维度哨兵值,可能错误拒绝合法输入。

二、环境信息 (可选)

  • 仓库:cann/ops-math
  • 算子:SplitD
  • 影响代码:conversion/split_d/op_host/split_d_infershape.cpp

三、重现步骤 (可选)

  1. 输入shape设置为{12, 9}。
  2. 设置split_dim=-1、num_split=3。
  3. 执行SplitD infershape。
  4. 原逻辑在负索引归一化前进行整除校验,返回失败。

四、预期结果 (可选)

先将split_dim=-1归一化为最后一维索引,再使用维度值9进行整除校验,推导3个shape为{12, 3}的输出。

💡 备注(选填)

由PR #6253修复,并已通过SplitD op-host UT验证。

likedislike
sujunwei3
24 天前 评论:

/assign

likedislike
CANN-robotCANN-robot成员
24 天前 将 sujunwei3 设为负责人
CANN-robotCANN-robot成员
24 天前 关闭了 issue
CANN-robotCANN-robot成员
24 天前 添加了label:resolved