| fix(space_to_batch_nd): 修复padding越界拷贝、空张量golden异常及静态检查治理 Co-authored-by: guyunlong1<guyunlong1@huawei.com> # message auto-generated for no-merge-commit merge: !7036 merge fix/space_to_batch_nd-4421 into master fix(space_to_batch_nd): 修复padding越界拷贝、空张量golden异常及静态检查治理 Created-by: guyunlong1 Commit-by: guyunlong1 Merged-by: cann-robot Description: ## 描述 长尾算子质量加固中的 space_to_batch_nd(Ascend950 / arch35)修复与静态检查治理: - 修复 padding 越界拷贝:有效范围计算 absMax、bcEnd 采用截断除法,底部 padding 块(padTop + spatial - 1 - blockIdx < 0)被截断为 0 而误判有效,导致越界读取输入并写入 padding 区。 - 修复 CopyInKey4 未按有效范围裁剪 dim(ubAxis+1):原实现直接按 outShape[ubAxis+1] 复制多个平面,padding 平面被相邻行数据填充。 - 修复空张量 golden:对 0 尺寸维调用 PyTorch F.pad 抛 "negative output size",改为空张量提前按语义解析输出 shape。 - 静态检查 / 健壮性:新增 SafeAddI64 / SafeMulI64 / SafeMulU64 溢出保护,tiling 辅助函数返回 ge::graphStatus 并通过 OP_CHECK_IF 传播;补充显式 static_cast 消除有符号/无符号及窄化告警;kernel DataCopy/LoopMode 参数改 int64;补充 paddings/block_shape/rank 参数校验;拆分 MAX_INPUT_RANK、MAX_RANK = MAX_SPATIAL + 2;proto 补充 bool / complex32 类型声明。 - 测试:新增 tiling / infershape / kernel UT;golden 新增tf三方比对,type不支持回退到numpy。 ## 关联的Issue Closes #4421 https://gitcode.com/cann/ops-math/issues/4421 ## 测试 - 构建:bash build.sh --pkg --soc=ascend950 --ops=space_to_batch_nd -j16 通过 - TTK Kernel L0_001~005:5/5 PASS - TTK GEIR 动态 shape(-d)L0_001~005:5/5 PASS ## 文档更新 - README.md、docs/zh/op_list.md 更新算子空间维度支持说明(1~7 个空间维度,输入张量秩 2~8)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7036 | 4 days ago |