| Files | Last commit | Last update |
|---|---|---|
feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6191 merge v121_10 into master feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 ## 关联的Issue #3498 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6191 | 25 days ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
fix(batch_to_space,diag_flat,cosh): 按人工检视意见修复校验缺失、空输入安全、溢出与测试文档资产 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6566 merge longtail into master fix(batch_to_space,diag_flat,cosh): 按人工检视意见修复校验缺失、空输入安全、溢出与测试文档资产 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 按人工检视意见对 batch_to_space、diag_flat、cosh 三个算子整改,共 61 个文件(+964/-825),5 个提交。 **batch_to_space** - op_host: batch_to_space_def.cpp 增加 bfloat16 支持对齐 ascend910b 基线;InferShape 补充 x 4D、crops 元素数/非负、N 可整除 block_size²、H_out/W_out>0 校验;tiling 补充 crops 元素数校验 - 资产与文档:golden 增加 __spec__ 注册;proto.h 注释改为 4D NHWC 并补 BasicType 清单;README 补 BF16 并修正属性角色;example 检查 AddGraph 返回值、释放 session 与输入缓冲 **diag_flat** - 空输入安全:arch35 SIMT 内核以 numInput 为一致分支守卫输入读取,避免空输入越界读 xGm[0];arch22 DiagFlatNDTo2DWithFew 空输入早退避免 iter=-1 负索引;GmSetZeroPad/GmSetZero 空输出提前返回避免整除零 - 校验与返回码:aclnn CheckParams 增加 INT64_MIN 与输出尺寸溢出校验(161002);空指针返回码由 ACLNN_ERR_INNER_NULLPTR 改为 ACLNN_ERR_PARAM_NULLPTR(161001);infershape/tiling/op_api 采用溢出安全计算 - 资产与文档:golden __spec__ 注册并补 @staticmethod;修正 4 条用例输出形状,atk 补负 diagonal 与 2-8 维输入;单测夹具改为真实单输入 x + 属性 diagonal;README/aclnnDiagFlat.md 修正 dtype 集合、空 Tensor 语义、输出形状公式与错误码;classify_rule.yaml 修正 diag_flat 交付路径 **cosh** - 样例与资产:test_aclnn_cosh.cpp FP32 阈值对齐 spec.yaml(rtol=atol=1e-5)、workspace 交由调用方持有并在流同步后释放;test_geir_cosh.cpp 输入缓冲改用 Tensor SetData(deleter) 释放、失败路径补 GEFinalize;golden __spec__ 注册(与已合入 #6652 版本一致) - 文档:README 调用说明补“样例代码”列并规范为 aclnn API/GE图模式/PyTorch API、self/out 补整数与 BOOL 类型;aclnnCosh&aclnnInplaceCosh.md 修正数据类型基准、BFLOAT16 归为 950/A3/A2 额外支持并补空 Tensor 说明;cosh_proto.h 恢复 REG_OP 上方 Doxygen 说明 ## 关联的Issue #3869 ## 测试 - 3 个算子 tests/assets/golden.py(cosh/diag_flat/batch_to_space)通过 python py_compile 语法检查 - diag_flat 单测夹具改造为真实单输入 x + 属性 diagonal;atk 用例补齐负 diagonal 与 2-8 维输入 - 本分支已 rebase 至最新 master(e4fbff83c),冲突解决后 cosh golden.py 与已合入 #6652 版本对齐 ## 文档更新 - README:batch_to_space(BF16/属性角色)、diag_flat(dtype/空 Tensor)、cosh(样例代码列/类型) - docs:aclnnDiagFlat.md(dtype/输出形状/错误码)、aclnnCosh&aclnnInplaceCosh.md(类型基准/BF16 归属/空 Tensor) - 其他:proto.h 注释、classify_rule.yaml 交付路径 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6566 | 14 days ago | |
docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6596 merge docs/comment-cleanup-20261022-01 into master docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题,仅修改注释,不涉及业务逻辑、接口行为或配置默认值。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_large_c.h:\file 注释由 batch_to_space_largec.h 修正为 batch_to_space_nd_large_c.h。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_small_c.h:\file 注释由 batch_to_space_smallc.h 修正为 batch_to_space_nd_small_c.h。 - conversion/broadcast_to/examples/test_geir_broadcast_to.cpp:\file 注释由 test_geir_add.cpp 修正为 test_geir_broadcast_to.cpp。 - conversion/chunk_cat/op_api/aclnn_chunk_cat.cpp:\file 注释由 aclnn_cat.cpp 修正为 aclnn_chunk_cat.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3816 ## 测试 - [x] git diff --check(CRLF-aware)通过 - [x] 本地 OAT 合规检查通过(含本 PR 文件的 203 文件批次) - [x] git clang-format --diff 对本次修改行无建议 - [x] Markdown 链接/锚点/围栏检查通过(本 PR 不涉及 Markdown) - [ ] 编译/UT 未运行:仅注释变更,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次仅修正上述源文件的注释。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6596 | 19 days ago | |
fix:修复squeeze发现的信息库默认字段问题 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6591 merge migrate_gelocal_question into master fix:修复squeeze发现的信息库默认字段问题 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 修复squeeze发现的信息库默认字段问题 补充默认补充字段默认值为false,对其ini中的flag设置,属性设置以原型为准 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6591 | 20 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !6636 merge master into master 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 chunk_cat、split_d、squeeze、unfold_grad的host侧错误码进行整改,将输入缺失、属性值及 Shape/Dtype 非法等场景改为对应的正式错误码,并避免外层重复上报覆盖底层错误,以及部分错误码错误使用的情况。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Experience Request|体验需求]: 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 [#3857](https://gitcode.com/cann/ops-math/issues/3857) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 共计63个错误码整改点,每个修改点各对应1个独立的测试UT,共63个全部PASS,同时库上已有UT用例共32个,不受影响仍然全部PASS。 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6636 | 19 days ago | |
fix 950 ut编译失败 Co-authored-by: chenqi317<CF2usBBbA386a-MRyWP5pYfd> # message auto-generated for no-merge-commit merge: !6699 merge master into master fix 950 ut编译失败 Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix 950 ut 编译失败 [2026-10-26 17:42:42] make[3]: *** [tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/build.make:110: tests/ut/op_host/math_op_host_ut] Error 1 [2026-10-26 17:42:42] make[2]: *** [CMakeFiles/Makefile2:14718: tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/all] Error 2 [2026-10-26 17:42:42] make[1]: *** [CMakeFiles/Makefile2:14725: tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/rule] Error 2 [2026-10-26 17:42:42] make: *** [Makefile:1152: math_op_host_ut] Error 2 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6699 | 16 days ago | |
fix: pad系列、depth_to_space UT问题 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6710 merge fix-ut into master fix: pad系列、depth_to_space UT问题 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 修复 pad 系列(Pad / PadV2 / MirrorPad)与 CircularPadGrad、DepthToSpace 共 5 个算子 arch35 tiling UT 的过期期望,使其与上游 tiling 改动对齐,恢复 UT 通过。 改动原因: - commit 63be43b14(MR !5969「pad_v3/pad_v3_grad 去除tiling多余workspace申请」)将共享 tiling 的 workspace 由 16MB 改为 0,但复用同一 PadACTiling / PadV3GradACTiling 的 Pad、PadV2、MirrorPad、CircularPadGrad arch35 用例仍期望 16777216,未同步更新,导致 tiling_case_executor 断言 workspace 不符而失败。 - commit a3439d3c9(MR !6332「transpose 支持 ascend960dt/ascend960pr 平台及 4bit 类型」)在 TransposeOpTilingData 中新增 int64 字段 bigDimBufferNum,DepthToSpaceTilingData 内嵌复用该结构,depth_to_space 用例 expectTilingData 未同步,字段整体错位一位而失败。 改动方法: - 将上述非 slice 分支的 arch35 用例 expectWorkspaces 由 16777216 更新为 0;PadV2 的 slice 分支(tilingKey 10102/10150)在 tiling 中提前返回、不设置 workspace,仍保持 16777216。 - 将 depth_to_space 4 个用例的 expectTilingData 按新结构补齐 bigDimBufferNum 字段(SIMT 小 shape 路径默认值 1)。 ## 关联的Issue 本 PR 修复以下 36 个 UT 失败 issue: ### CircularPadGrad(conversion/circular_pad_grad) - https://gitcode.com/cann/ops-math/issues/4025 - https://gitcode.com/cann/ops-math/issues/4026 - https://gitcode.com/cann/ops-math/issues/4027 - https://gitcode.com/cann/ops-math/issues/4028 - https://gitcode.com/cann/ops-math/issues/4029 - https://gitcode.com/cann/ops-math/issues/4030 - https://gitcode.com/cann/ops-math/issues/4031 - https://gitcode.com/cann/ops-math/issues/4032 - https://gitcode.com/cann/ops-math/issues/4033 - https://gitcode.com/cann/ops-math/issues/4034 - https://gitcode.com/cann/ops-math/issues/4035 ### DepthToSpace(conversion/depth_to_space) - https://gitcode.com/cann/ops-math/issues/4036 - https://gitcode.com/cann/ops-math/issues/4037 - https://gitcode.com/cann/ops-math/issues/4038 - https://gitcode.com/cann/ops-math/issues/4039 ### MirrorPad(conversion/mirror_pad) - https://gitcode.com/cann/ops-math/issues/4041 ### Pad(conversion/pad) - https://gitcode.com/cann/ops-math/issues/4042 - https://gitcode.com/cann/ops-math/issues/4043 - https://gitcode.com/cann/ops-math/issues/4044 - https://gitcode.com/cann/ops-math/issues/4045 - https://gitcode.com/cann/ops-math/issues/4046 - https://gitcode.com/cann/ops-math/issues/4047 ### PadV2(conversion/pad_v2) - https://gitcode.com/cann/ops-math/issues/4048 - https://gitcode.com/cann/ops-math/issues/4049 - https://gitcode.com/cann/ops-math/issues/4050 - https://gitcode.com/cann/ops-math/issues/4051 - https://gitcode.com/cann/ops-math/issues/4052 - https://gitcode.com/cann/ops-math/issues/4053 - https://gitcode.com/cann/ops-math/issues/4054 - https://gitcode.com/cann/ops-math/issues/4055 - https://gitcode.com/cann/ops-math/issues/4056 - https://gitcode.com/cann/ops-math/issues/4057 - https://gitcode.com/cann/ops-math/issues/4058 - https://gitcode.com/cann/ops-math/issues/4059 - https://gitcode.com/cann/ops-math/issues/4060 - https://gitcode.com/cann/ops-math/issues/4061 ## 测试 对每个算子执行 bash build.sh -u --ophost --soc=ascend950 --ops=<算子名>,全部通过: | 算子 | 结果 | |------|------| | circular_pad_grad | 15/15 PASSED | | depth_to_space | 11/11 PASSED | | mirror_pad | 10/10 PASSED | | pad | 16/16 PASSED | | pad_v2 | 43/43 PASSED | ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6710 | 15 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5815 merge fix/proto-comment-grammar into master fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 对 39 个算子的 op_graph/*_proto.h 注释做拼写与语法修复,仅注释与格式变更,不涉及任何代码逻辑: - **拼写错误**:select_v2 condittion→condition(2处)、axpy_v2 opratioan→operation、clip_by_value 英文 dtype 列表中的全角逗号改半角 - **系统性语法(历史模板复制扩散)**:Support broadcasting→Supports broadcasting(27个文件)、A ND→An ND(33个文件97处) - **单文件语法修复 71 处(含 signbit returns→Returns、axpy should→Should 两处句首大写补漏)**:ger has→have、addcmul/addcdiv multiply→multiplies、muls An required→A required、equal (x=y)→(x1==x2)、Elementwise→Element-wise、bias_add/lerp/gcd 语序与冠词修复、aicore→AiCore、mod/floor_mod 矛盾表述统一、句首大小写与标点空格等 - 附带 pre-commit 钩子强制规范化(clang-format 重排、尾随空白、文件末尾换行),并保留各文件原有行尾风格(CRLF/LF) 涉及算子:add/sub/mul/muls/div/real_div/floor_div/div_no_nan/pow/minimum/maximum/signbit/less/less_equal/greater/greater_equal/not_equal/equal/bias_add/squared_difference/lerp/logical_and/logical_or/bitwise_or/bitwise_and/bitwise_xor/tanh_grad/axpy/axpy_v2/addcmul/addcdiv/select/select_v2/mod/floor_mod/ger/gcd/clip_by_value/clip_by_value_v2 ## 关联的Issue - #3234 - https://gitcode.com/cann/ops-math/issues/3234 ## 测试 - 纯注释变更,无功能影响 - pre-commit 钩子全部通过(clang-format / trailing-whitespace / end-of-file-fixer / codespell / OAT 合规检查) - 严格限定在上述 39 个算子文件,全仓其余算子未改动(其余算子同类问题可后续另行清理) ## 文档更新 不涉及仓内 docs/ 目录;本 PR 即为 proto.h 注释(算子原型文档源)的修正 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5815 | 18 days ago | |
【Docs】ClipByValueV2算子的6个aclnn接口文档参数名补充 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6692 merge ccc_1026 into master 【Docs】ClipByValueV2算子的6个aclnn接口文档参数名补充 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnClampMaxTensor / aclnnInplaceClampMaxTensor 的资料参数表里有两行只有类型、没有参数名: L141 <td>(aclOpExecutor**)</td><td>输出</td><td>返回op执行器,包含了算子计算流程。</td> L300 <td>(aclOpExecutor**)</td><td>输出</td><td>返回op执行器,包含了算子计算流程。</td> 参数表其余 7 行都是「类型 + 参数名」两段式(如 self(aclTensor*)),只有这两行不是: 名字被全角括号包住,且 aclOpExecutor** 不是业务参数,而是 aclnn 两段式接口的框架出参。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3941 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> aclnnClampMax&aclnnInplaceClampMax.md aclnnClampMaxTensor&aclnnInplaceClampMaxTensor.md aclnnClampMin.md aclnnClampMinTensor&aclnnInplaceClampMinTensor.md aclnnClampTensor.md aclnnHardtanh&aclnnInplaceHardtanh.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6692 | 15 days ago | |
docs: 修复注释与文档不一致(circular_pad、clip_by_value、coalesce_sparse 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6597 merge docs/comment-cleanup-20261022-02 into master docs: 修复注释与文档不一致(circular_pad、clip_by_value、coalesce_sparse 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/circular_pad/op_api/aclnn_circular_pad2d.h:#endif 尾注释由 OP_API_INC_CIRCULAR_PAD_H_ 修正为实际保护宏 OP_API_INC_CIRCULAR_PAD2D_H_。 - conversion/circular_pad/op_api/aclnn_circular_pad3d.h:#endif 尾注释由 OP_API_INC_CIRCULAR_PAD_H_ 修正为实际保护宏 OP_API_INC_CIRCULAR_PAD3D_H_。 - conversion/clip_by_value/examples/test_geir_clip_by_value.cpp:\file 注释由 test_geir_add_n.cpp 修正为 test_geir_clip_by_value.cpp。 - conversion/coalesce_sparse/op_kernel/coalesce_sparse.h:#endif 尾注释由 COALESCE_SPARSE 修正为实际保护宏 COALESCE_SPARSE_H。 - conversion/coalesce_sparse/op_kernel/coalesce_sparse_simt.h:#endif 尾注释由 COALESCE_SPARSE_SIMT 修正为实际保护宏 COALESCE_SPARSE_SIMT_H。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - [#3819](https://gitcode.com/cann/ops-math/issues/3819) 修复注释与文档不一致(circular_pad、clip_by_value、coalesce_sparse) ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6597 | 19 days ago | |
concat 算子支持 ascend960 多核调整 Co-authored-by: z00894303<z00894303@huawei.com> # message auto-generated for no-merge-commit merge: !6379 merge master into master concat 算子支持 ascend960 多核调整 Created-by: hw-zhangpanpan Commit-by: z00894303 Merged-by: cann-robot Description: ## 描述 concat 算子在 ascend960平台上的 tiling 未充分利用多核并行能力。将合轴后的0轴任务分配为更接近 totalCoreNum 的整数倍块,提升多核并行度与 concat 算子的整体性能,同时不影响其他平台的既有行为。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4098 ## 测试 冒烟、泛化用例 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6379 | 14 days ago | |
fix(concat): >512拆树场景树形desc推导缺失导致真机静默计算错误 Co-authored-by: zhanglei842<zhanglei842@huawei.com> # message auto-generated for no-merge-commit merge: !6660 merge master into master fix(concat): >512拆树场景树形desc推导缺失导致真机静默计算错误 Created-by: zhanglei842 Commit-by: zhanglei842 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3974 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6660 | 16 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Co-authored-by: tianyu52<tianyu52@huawei.com> # message auto-generated for no-merge-commit merge: !6617 merge feat/rt2-infer-4ops into master OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Created-by: tianyu52 Commit-by: tianyu52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6617 | 19 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
Contiguous EZ9999 错误码修复 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6629 merge fix_ez_code/contiguous into master Contiguous EZ9999 错误码修复 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/contiguous 下的错误码改造,整改列表如下: | 层级 | 上报接口 | 文件 | 行号 | | ---- | ------- | ---------- | -- | | op_host | OP_LOGE | conversion/contiguous/op_host/op_api/contiguous.cpp | 620 | op_host | OP_LOGE | conversion/contiguous/op_host/op_api/contiguous.cpp | 628 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!-- - UT (opapi)构建:bash build.sh -u --opapi --soc=ascend910b --noexec -j8 - UT测试通过:--> 外加黄区编包pass:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6629 | 14 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
fix: pad系列、depth_to_space UT问题 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6710 merge fix-ut into master fix: pad系列、depth_to_space UT问题 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 修复 pad 系列(Pad / PadV2 / MirrorPad)与 CircularPadGrad、DepthToSpace 共 5 个算子 arch35 tiling UT 的过期期望,使其与上游 tiling 改动对齐,恢复 UT 通过。 改动原因: - commit 63be43b14(MR !5969「pad_v3/pad_v3_grad 去除tiling多余workspace申请」)将共享 tiling 的 workspace 由 16MB 改为 0,但复用同一 PadACTiling / PadV3GradACTiling 的 Pad、PadV2、MirrorPad、CircularPadGrad arch35 用例仍期望 16777216,未同步更新,导致 tiling_case_executor 断言 workspace 不符而失败。 - commit a3439d3c9(MR !6332「transpose 支持 ascend960dt/ascend960pr 平台及 4bit 类型」)在 TransposeOpTilingData 中新增 int64 字段 bigDimBufferNum,DepthToSpaceTilingData 内嵌复用该结构,depth_to_space 用例 expectTilingData 未同步,字段整体错位一位而失败。 改动方法: - 将上述非 slice 分支的 arch35 用例 expectWorkspaces 由 16777216 更新为 0;PadV2 的 slice 分支(tilingKey 10102/10150)在 tiling 中提前返回、不设置 workspace,仍保持 16777216。 - 将 depth_to_space 4 个用例的 expectTilingData 按新结构补齐 bigDimBufferNum 字段(SIMT 小 shape 路径默认值 1)。 ## 关联的Issue 本 PR 修复以下 36 个 UT 失败 issue: ### CircularPadGrad(conversion/circular_pad_grad) - https://gitcode.com/cann/ops-math/issues/4025 - https://gitcode.com/cann/ops-math/issues/4026 - https://gitcode.com/cann/ops-math/issues/4027 - https://gitcode.com/cann/ops-math/issues/4028 - https://gitcode.com/cann/ops-math/issues/4029 - https://gitcode.com/cann/ops-math/issues/4030 - https://gitcode.com/cann/ops-math/issues/4031 - https://gitcode.com/cann/ops-math/issues/4032 - https://gitcode.com/cann/ops-math/issues/4033 - https://gitcode.com/cann/ops-math/issues/4034 - https://gitcode.com/cann/ops-math/issues/4035 ### DepthToSpace(conversion/depth_to_space) - https://gitcode.com/cann/ops-math/issues/4036 - https://gitcode.com/cann/ops-math/issues/4037 - https://gitcode.com/cann/ops-math/issues/4038 - https://gitcode.com/cann/ops-math/issues/4039 ### MirrorPad(conversion/mirror_pad) - https://gitcode.com/cann/ops-math/issues/4041 ### Pad(conversion/pad) - https://gitcode.com/cann/ops-math/issues/4042 - https://gitcode.com/cann/ops-math/issues/4043 - https://gitcode.com/cann/ops-math/issues/4044 - https://gitcode.com/cann/ops-math/issues/4045 - https://gitcode.com/cann/ops-math/issues/4046 - https://gitcode.com/cann/ops-math/issues/4047 ### PadV2(conversion/pad_v2) - https://gitcode.com/cann/ops-math/issues/4048 - https://gitcode.com/cann/ops-math/issues/4049 - https://gitcode.com/cann/ops-math/issues/4050 - https://gitcode.com/cann/ops-math/issues/4051 - https://gitcode.com/cann/ops-math/issues/4052 - https://gitcode.com/cann/ops-math/issues/4053 - https://gitcode.com/cann/ops-math/issues/4054 - https://gitcode.com/cann/ops-math/issues/4055 - https://gitcode.com/cann/ops-math/issues/4056 - https://gitcode.com/cann/ops-math/issues/4057 - https://gitcode.com/cann/ops-math/issues/4058 - https://gitcode.com/cann/ops-math/issues/4059 - https://gitcode.com/cann/ops-math/issues/4060 - https://gitcode.com/cann/ops-math/issues/4061 ## 测试 对每个算子执行 bash build.sh -u --ophost --soc=ascend950 --ops=<算子名>,全部通过: | 算子 | 结果 | |------|------| | circular_pad_grad | 15/15 PASSED | | depth_to_space | 11/11 PASSED | | mirror_pad | 10/10 PASSED | | pad | 16/16 PASSED | | pad_v2 | 43/43 PASSED | ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6710 | 15 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(batch_to_space,diag_flat,cosh): 按人工检视意见修复校验缺失、空输入安全、溢出与测试文档资产 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6566 merge longtail into master fix(batch_to_space,diag_flat,cosh): 按人工检视意见修复校验缺失、空输入安全、溢出与测试文档资产 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 按人工检视意见对 batch_to_space、diag_flat、cosh 三个算子整改,共 61 个文件(+964/-825),5 个提交。 **batch_to_space** - op_host: batch_to_space_def.cpp 增加 bfloat16 支持对齐 ascend910b 基线;InferShape 补充 x 4D、crops 元素数/非负、N 可整除 block_size²、H_out/W_out>0 校验;tiling 补充 crops 元素数校验 - 资产与文档:golden 增加 __spec__ 注册;proto.h 注释改为 4D NHWC 并补 BasicType 清单;README 补 BF16 并修正属性角色;example 检查 AddGraph 返回值、释放 session 与输入缓冲 **diag_flat** - 空输入安全:arch35 SIMT 内核以 numInput 为一致分支守卫输入读取,避免空输入越界读 xGm[0];arch22 DiagFlatNDTo2DWithFew 空输入早退避免 iter=-1 负索引;GmSetZeroPad/GmSetZero 空输出提前返回避免整除零 - 校验与返回码:aclnn CheckParams 增加 INT64_MIN 与输出尺寸溢出校验(161002);空指针返回码由 ACLNN_ERR_INNER_NULLPTR 改为 ACLNN_ERR_PARAM_NULLPTR(161001);infershape/tiling/op_api 采用溢出安全计算 - 资产与文档:golden __spec__ 注册并补 @staticmethod;修正 4 条用例输出形状,atk 补负 diagonal 与 2-8 维输入;单测夹具改为真实单输入 x + 属性 diagonal;README/aclnnDiagFlat.md 修正 dtype 集合、空 Tensor 语义、输出形状公式与错误码;classify_rule.yaml 修正 diag_flat 交付路径 **cosh** - 样例与资产:test_aclnn_cosh.cpp FP32 阈值对齐 spec.yaml(rtol=atol=1e-5)、workspace 交由调用方持有并在流同步后释放;test_geir_cosh.cpp 输入缓冲改用 Tensor SetData(deleter) 释放、失败路径补 GEFinalize;golden __spec__ 注册(与已合入 #6652 版本一致) - 文档:README 调用说明补“样例代码”列并规范为 aclnn API/GE图模式/PyTorch API、self/out 补整数与 BOOL 类型;aclnnCosh&aclnnInplaceCosh.md 修正数据类型基准、BFLOAT16 归为 950/A3/A2 额外支持并补空 Tensor 说明;cosh_proto.h 恢复 REG_OP 上方 Doxygen 说明 ## 关联的Issue #3869 ## 测试 - 3 个算子 tests/assets/golden.py(cosh/diag_flat/batch_to_space)通过 python py_compile 语法检查 - diag_flat 单测夹具改造为真实单输入 x + 属性 diagonal;atk 用例补齐负 diagonal 与 2-8 维输入 - 本分支已 rebase 至最新 master(e4fbff83c),冲突解决后 cosh golden.py 与已合入 #6652 版本对齐 ## 文档更新 - README:batch_to_space(BF16/属性角色)、diag_flat(dtype/空 Tensor)、cosh(样例代码列/类型) - docs:aclnnDiagFlat.md(dtype/输出形状/错误码)、aclnnCosh&aclnnInplaceCosh.md(类型基准/BF16 归属/空 Tensor) - 其他:proto.h 注释、classify_rule.yaml 交付路径 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6566 | 14 days ago | |
docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6598 merge docs/comment-cleanup-20261022-03 into master docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/concat/tests/ut/op_host/test_concat_infershape.cpp:\file 注释由 test_concat_infershpe.cpp 修正为 test_concat_infershape.cpp。 - conversion/diag_v2/op_kernel/diag_v2_b32.h:#endif 尾注释由 DIAG_V2_B64_H 修正为实际保护宏 DIAG_V2_B32_H。 - conversion/dynamic_stitch/op_kernel/arch35/dynamic_stitch_scatter_simt.h:\file 注释由 dynamic_stitch_simt.h 修正为 dynamic_stitch_scatter_simt.h。 - conversion/fill/op_api/aclnn_fill_scalar.h:#endif 尾注释由 OP_API_INC_FILL_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_SCALAR_H_。 - conversion/fill/op_api/aclnn_fill_tensor.h:#endif 尾注释由 OP_API_INC_LEVEL2_ACLNN_FILL_TENSOR_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_TENSOR_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3820 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6598 | 19 days ago | |
test: 新增 8 个算子 Ascend 950 arch35 ST 测试样例(as_strided、concat、concat_v2、dynamic_partition、mem_set、split_v、strided_slice_grad、addr) Co-authored-by: babeiee<125106023003@njust.edu.cn> # message auto-generated for no-merge-commit merge: !6381 merge add-arch35-st-ttk-samples into master test: 新增 8 个算子 Ascend 950 arch35 ST 测试样例(as_strided、concat、concat_v2、dynamic_partition、mem_set、split_v、strided_slice_grad、addr) Created-by: babeiee Commit-by: babeiee Merged-by: cann-robot Description: ## 描述 DV122 补充算子 ST 测试样例:为 8 个算子新增 Ascend 950(arch35)ST 测试资产。 覆盖算子(REG_OP、kernel 模式,输入格式 ND): | 算子 | 目录 | 功能 | |------|------|------| | as_strided | conversion/ | 以 size/stride/storage_offset 在 x 存储上构造视图张量 | | concat | conversion/ | 沿指定维度拼接多个张量 | | concat_v2 | conversion/ | 沿指定维度拼接多个张量(v2 接口) | | dynamic_partition | conversion/ | 按 partitions 索引将 x 切分为 num_partitions 个输出 | | mem_set | conversion/ | 以指定尺寸与初始值初始化内存区域 | | split_v | conversion/ | 按 size_splits 沿 split_dim 将 x 切分为 num_split 个输出 | | strided_slice_grad | conversion/ | StridedSlice 梯度:将 dy 按 strides 散射到 shape 尺寸零张量 | | addr | math/ | 计算 y = beta * x1 + alpha * (x2 ⊗ x3) | 每个算子新增 11 个文件: - tests/st/arch35/ttk_kernel_{op}_st.csv:arch35 ST 样例(每算子 10 条,维度覆盖 1d~8d) - tests/st/testcases/:L0 功能用例 + L2 异常用例 CSV ## 关联的Issue - #3595(https://gitcode.com/cann/ops-math/issues/3595) ## 测试 - arch35 ST 样例 80 条(8 算子 × 10,维度覆盖 1d~8d) - L0 功能用例 277 条:as_strided 37、concat 40、concat_v2 40、dynamic_partition 35、mem_set 12、split_v 31、strided_slice_grad 40、addr 42;数据类型覆盖各算子合法 dtype 域,含 nan/inf/极值等特殊输入 - L2 异常用例 121 条:dtype 非法 60、format 不支持(FRACTAL_NZ)30、输出 shape 不匹配 5、必选参数缺失 8、约束违反 14、mem_set 数组类异常 4,期望返回对应 ACL_ERROR_* 错误码 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:新增算子 ST 测试样例 See merge request: cann/ops-math!6381 | 26 days ago | |
docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6598 merge docs/comment-cleanup-20261022-03 into master docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/concat/tests/ut/op_host/test_concat_infershape.cpp:\file 注释由 test_concat_infershpe.cpp 修正为 test_concat_infershape.cpp。 - conversion/diag_v2/op_kernel/diag_v2_b32.h:#endif 尾注释由 DIAG_V2_B64_H 修正为实际保护宏 DIAG_V2_B32_H。 - conversion/dynamic_stitch/op_kernel/arch35/dynamic_stitch_scatter_simt.h:\file 注释由 dynamic_stitch_simt.h 修正为 dynamic_stitch_scatter_simt.h。 - conversion/fill/op_api/aclnn_fill_scalar.h:#endif 尾注释由 OP_API_INC_FILL_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_SCALAR_H_。 - conversion/fill/op_api/aclnn_fill_tensor.h:#endif 尾注释由 OP_API_INC_LEVEL2_ACLNN_FILL_TENSOR_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_TENSOR_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3820 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6598 | 19 days ago | |
fix:修复squeeze发现的信息库默认字段问题 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6591 merge migrate_gelocal_question into master fix:修复squeeze发现的信息库默认字段问题 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 修复squeeze发现的信息库默认字段问题 补充默认补充字段默认值为false,对其ini中的flag设置,属性设置以原型为准 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6591 | 20 days ago | |
conversion/feedsRepeat错误码整改 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6713 merge br.fix.errocode.feedsRepeat into master conversion/feedsRepeat错误码整改 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/feedsRepeat错误码整改,条目如下: | xlsx序号 | 原位置 / 原语句 | 当前处理 | 正式码 | |---:|---|---|---| | 1943 | infershape:41 OP_LOGE feeds | infershape:43 if + OP_LOGE_WITH_INVALID_INPUT | EZ0004 | | 1944 | infershape:43 OP_CHECK_NULL feeds | 删除(与 1943 重复、不可达) | - | | 1945 | infershape:46 OP_LOGE repeat_times | infershape:48 同上 | EZ0004 | | 1946 | infershape:47 OP_CHECK_NULL repeat_times | 删除(重复) | - | | 1947 | infershape:49 OP_LOGE y | infershape:53 同上 | EZ0004 | | 1948 | infershape:51 OP_CHECK_NULL y | 删除(重复) | - | | 1949 | infershape:53 OP_LOGE attrs | infershape:58 OP_LOGE_FOR_INVALID_ARGUMENT_WITH_REASON | EZ0037 | | 1950 | infershape:55 OP_CHECK_NULL attrs | 删除(重复) | - | | 1951 | infershape:63 OP_CHECK_NULL output_feeds_size | infershape:70 OP_LOGE_WITH_INVALID_INPUT | EZ0004 | | 1952 | tiling:67 OP_LOGE batch_num | tiling:67 OP_LOGE_FOR_INVALID_SHAPESIZE_WITH_REASON | EZ0015 | | 1953 | tiling:93 OP_LOGE length mismatch | tiling:95 OP_LOGE_FOR_INVALID_SHAPES_WITH_REASON | EZ0010 | | 1954 | tiling:150 OP_LOGE too large | tiling:154 OP_LOGE_FOR_INVALID_SHAPESIZE_WITH_REASON | EZ0015 | | 1955 | tiling:192 OP_CHECK_NULL compileInfo | tiling:214 OP_LOGE_WITH_INVALID_INPUT | EZ0004 | | 1956 | tiling:194 OP_CHECK_NULL platformInfo | tiling:219 OP_LOGE_WITH_INVALID_INPUT | EZ0004 | | 1957 | tiling:199 OP_LOGE core num | tiling:225 OP_LOGE_FOR_INVALID_ARGUMENT_WITH_REASON | EZ0037 | | 1958 | tiling:206 OP_LOGE ub size | tiling:235 OP_LOGE_FOR_INVALID_ARGUMENT_WITH_REASON | EZ0037 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 - 编译:bash build.sh -u --ophost --ops=feeds_repeat --soc=ascend910b --noexec -j8 → 退出码 0 - UT:math_op_host_ut --gtest_filter='FeedsRepeat*' → 13/13 通过 text [----------] 2 tests from FeedsRepeat FeedsRepeat Proto Test SetUp [ RUN ] FeedsRepeat.FeedsRepeat_infershape_case_tiling_key_1 [ OK ] FeedsRepeat.FeedsRepeat_infershape_case_tiling_key_1 (0 ms) [ RUN ] FeedsRepeat.FeedsRepeat_infershape_null_attr_repro GetAttrPointer(0)=0 GetAttrNum=0 [ OK ] FeedsRepeat.FeedsRepeat_infershape_null_attr_repro (0 ms) FeedsRepeat Proto Test TearDown [----------] 2 tests from FeedsRepeat (0 ms total) [----------] Global test environment tear-down Global Environment TearDown [==========] 13 tests from 2 test suites ran. (25 ms total) [ PASSED ] 13 tests. - 黄区构建:构建成功 - CB_PRE_turing_ascend910b_ops_math_aarch64_pkg_compile - CB_PRE_turing_ascend910b_ops_math_x86_pkg_compile  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6713 | 15 days ago | |
docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6598 merge docs/comment-cleanup-20261022-03 into master docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/concat/tests/ut/op_host/test_concat_infershape.cpp:\file 注释由 test_concat_infershpe.cpp 修正为 test_concat_infershape.cpp。 - conversion/diag_v2/op_kernel/diag_v2_b32.h:#endif 尾注释由 DIAG_V2_B64_H 修正为实际保护宏 DIAG_V2_B32_H。 - conversion/dynamic_stitch/op_kernel/arch35/dynamic_stitch_scatter_simt.h:\file 注释由 dynamic_stitch_simt.h 修正为 dynamic_stitch_scatter_simt.h。 - conversion/fill/op_api/aclnn_fill_scalar.h:#endif 尾注释由 OP_API_INC_FILL_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_SCALAR_H_。 - conversion/fill/op_api/aclnn_fill_tensor.h:#endif 尾注释由 OP_API_INC_LEVEL2_ACLNN_FILL_TENSOR_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_TENSOR_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3820 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6598 | 19 days ago | |
fix(error-code): remediate illegal E*9*** reporting for four conversion ops Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6448 merge br_yyt_errorcode into master fix(error-code): remediate illegal E*9*** reporting for four conversion ops Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [ErrorCode] conversion 四算子非法 E*9*** 错误码整改 1. fill_diagonal_v2 空指针:OP_CHECK_NULL_WITH_CONTEXT(EZ9999)→ OP_LOGE_WITH_INVALID_INPUT(EZ0004) dtype / dtype 不一致 / coreNum:改为 OP_LOGE_FOR_INVALID_DTYPE(_S)_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 废弃 EZ0007:OP_LOGE_WITH_INVALID_INPUT_DTYPE → OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON AICPU launcher 失败:下层已正式首报 → 外层改为 OP_LOGE_WITHOUT_REPORT 补充 tiling 负向 UT(非法 dtype、dtype mismatch) 2. npu_format_cast srcTensor == nullptr:OP_LOGE(ACLNN_ERR_INNER_NULLPTR) → OP_CHECK_NULL + 返回 ACLNN_ERR_PARAM_NULLPTR(空参正式路径) 3. transpose_v2 dim/dtype/shape/perm 非法:OP_LOGE(context…) → 对应 OP_LOGE_FOR_INVALID_* 删除 GetPlatformInfo 外层失败判断(内层恒 SUCCESS,死路径) DoTiling 外层:内层已首报 → OP_LOGE_WITHOUT_REPORT 补充非法 dtype / perm 负向 UT 4. unsqueeze InferShape 空参 / axes 非法 / 维数超限:改为 OP_LOGE_WITH_INVALID_INPUT / OP_LOGE_FOR_INVALID_* L0:dim 越界、重复 → OP_LOGE_FOR_INVALID_VALUE_WITH_REASON;InferShape 已首报后外层 WITHOUT_REPORT contiguous 校验:ACL_ERROR_FAILURE → ACLNN_ERR_PARAM_INVALID(EZ1001) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3674](https://gitcode.com/cann/ops-math/issues/3674) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6448 | 16 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 19 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 21 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 16 days ago | |
fix(aicpu): 补齐手写json缺失的opInfo字段 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !6519 merge fix/aicpu-opinfo-metadata into master fix(aicpu): 补齐手写json缺失的opInfo字段 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因、所采取的方法。--> 对齐 AICPU 整包生成侧与 CANN 9.2.0 安装版 aicpu_kernel.json 的 opInfo 元数据,补齐 6 个算子的字段缺失: - conversion/identity/op_kernel_aicpu/identity.json - 补齐 formatAgnostic=True、opsFlag=OPS_FLAG_OPEN(对齐安装版) - kernelSo 指向修正(libnn → libmath)已由 master db84400e2 率先合入,本 PR rebase 后不再重复改动 - math/rsqrt/op_kernel_aicpu/rsqrt.json、math/sqrt/op_kernel_aicpu/sqrt.json:补齐 formatAgnostic=True(对齐安装版) - math/tile/op_kernel_aicpu/tile.json:补齐 opsFlag=OPS_FLAG_OPEN(对齐安装版及同族 TileWithAxis 注册写法) - math/pow/op_kernel_aicpu/pow.json:补齐 opsFlag=OPS_FLAG_CLOSE(对齐安装版) - math/greater_equal/op_kernel_aicpu/greater_equal_aicpu_def.cpp:补齐 TRUE_FORMAT_AGNOSTIC 覆盖(安装版比较家族 GreaterEqual/Less/NotEqual 均为 True、Equal 为 False,本仓 Less/NotEqual 已覆盖,唯独 GreaterEqual 漏了 formatAgnostic) 背景:三仓 AICPU 整包 json 与安装版逐算子逐字段比对([cann/ops-cv#1276](https://gitcode.com/cann/ops-cv/issues/1276))定位到上述差异。76 个 AICPU 算子中 5 个为手写 json(identity/rsqrt/sqrt/tile/pow),不走 ApplyMathAicpuDefaultCfg+ExtendCfgInfo 注册机制,迁移/手写时字段易漏,本 PR 逐一补齐;后续建议将手写 json 逐步迁移为 def 注册,从根本上规避。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [cann/ops-cv#1276](https://gitcode.com/cann/ops-cv/issues/1276)(AICPU整包json与安装版json 算子定义差异梳理) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 5 个手写 json 语法校验通过 - 76 个 AICPU 算子源码推导值与本机 CANN 9.2.0 安装版全量比对:修复后 6 个目标算子的 formatAgnostic/opsFlag 与安装版完全对齐,其余 3 项差异(Coordinates1DTo2D/OnesLike/TileWithAxis,整包侧演进项)保持不变 - trans_soc / find_value_by_key 等既有机制无行为影响(GreaterEqual 仅新增一行 ExtendCfgInfo 覆盖) - pre-commit 全钩子通过(json 校验 / clang-format / codespell / OAT 合规) - 重建验证:重新 configure(重编 71 个 opdef 生成 aicpu_kernel.ini)并构建 gen_aicpu_json_from_opdef,再生成 aicpu_math.json——76 算子齐全,6 个目标算子的 kernelSo/formatAgnostic/opsFlag 全部落盘正确(Identity kernelSo 由 libnn 修正为 libmath,三处 True/OPEN 补齐,GreaterEqual 经 def→ini→json 链路生效),全量比对无回归 - 符号核验:构建 libmath_aicpu_kernels.so(aarch64),RunCpuKernel 动态符号导出、"Identity" 注册名字符串在 so 内,非本仓 AICPU 算子名(Conv2D/ROIAlign 等)反证 0 命中 - 未执行 NPU 上板运行与完整打包封测(无硬件环境;CUST 注册加载行为需端到端图编译验证) - rebase 至 master f597aafa 后复核:剩余字段补齐改动与原 PR 逐行一致,master db84400e2 已含 kernelSo 修正(本 PR 该项变为无差异),pre-commit 全钩子通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6519 | 14 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 19 days ago | |
im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5844 merge master into master im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3614 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5844 | 26 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
docs: 补充MaskedFillTensor非零维value的错误码说明 Co-authored-by: wangchao661<wangchao661@huawei.com> # message auto-generated for no-merge-commit merge: !6730 merge docs/issue-3970-masked-fill-value-dim into master docs: 补充MaskedFillTensor非零维value的错误码说明 Created-by: wangchao661 Commit-by: wangchao661 Merged-by: cann-robot Description: ## 描述 aclnnInplaceMaskedFillTensor 的参数表已要求 value 为 0 维张量,API 的 CheckShape 也会拒绝非零维 value 并返回 ACLNN_ERR_PARAM_INVALID(161002),但错误码表遗漏了这一报错原因。 在 161002 下补充“value的维度不为0。”,并将返回值和错误码单元格的 rowspan 从 3 调整为 4。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3970 ## 测试 - 仅修改 Markdown 文档,CI测试通过。 ## 文档更新 conversion/masked_fill/docs/aclnnInplaceMaskedFillTensor.md:补充非零维 value 对应的 161002 说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6730 | 14 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 19 days ago | |
docs: 修正 matrix_diag 文件头注释与头文件保护注释 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6600 merge docs/comment-cleanup-20261022-05 into master docs: 修正 matrix_diag 文件头注释与头文件保护注释 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正 conversion/matrix_diag 下多处注释与实际代码不一致的问题,并同步修正一处 clang-format 格式问题: - conversion/matrix_diag/op_graph/matrix_diag_graph_infer.cpp:\file 注释由 matrix_diag_infershape.cpp 修正为 matrix_diag_graph_infer.cpp。 - conversion/matrix_diag/op_host/matrix_diag_tiling_arch35.h:#endif 尾注释由 OPS_BUILT_IN_OP_TILING_RUNTIME_MATRIX_DIAG_TILING_H_ 修正为实际保护宏 OPS_MATH_CONVERSION_MATRIX_DIAG_OP_HOST_MATRIX_DIAG_TILING_ARCH35_H_;同时按仓库 pre-commit 规则修正 MatrixDiagTiling 构造函数初始化列表后的空格格式。 - conversion/matrix_diag/op_kernel/arch35/matrix_diag_scatter_high_slice_batch.h:\file 注释由 matrix_diag_big_n.h 修正为 matrix_diag_scatter_high_slice_batch.h。 - conversion/matrix_diag/op_kernel/arch35/matrix_diag_scatter_high_slice_yUB.h:\file 注释由 matrix_diag_big_n.h 修正为 matrix_diag_scatter_high_slice_yUB.h。 说明:conversion/im2col/op_kernel/arch35/im2col_norm_NHWC.h 的 \file 注释未在本 PR 修复。该文件存在既有的大范围 clang-format 差异(约 169 行),应用会引入与本 PR 无关的大规模格式变更,已留待单独处理。 改动不涉及业务逻辑、接口行为或配置默认值,仅修正注释内容与格式。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3822 ## 测试 - [x] 本地完整 pre-commit 检查通过(含 clang-format、空白检查、文件末尾换行) - [x] 改动仅为注释与格式调整,不改变编译产物和算子逻辑,无需算子功能/精度测试 ## 文档更新 本次仅修正源码中的文件头注释与头文件保护宏尾注释,无独立文档文件更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6600 | 19 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
docs(matrix_diag_part_v3): 修正原型语义与兼容算子说明 Co-authored-by: LiJianhao2<25213050226@m.fudan.edu.cn> # message auto-generated for no-merge-commit merge: !6101 merge fix/ops-math-2026-10-02-001-matrix-diag-part-doc into master docs(matrix_diag_part_v3): 修正原型语义与兼容算子说明 Created-by: little_apple_12 Commit-by: LiJianhao2 Merged-by: cann-robot Description: ## 描述 - 修正 conversion/matrix_diag_part_v3/op_graph/matrix_diag_part_v3_proto.h 的 brief:说明 MatrixDiagPartV3 从张量最后两维提取一条或多条对角线,不再描述为根据对角线值构造输出。 - 修正同一文件的框架兼容项:将错误的 FillDiagonal 改为 TensorFlow MatrixDiagPartV3,与对应框架算子注册定义及输入一致。 改动仅包含上述两个注释 hunk,不改接口、kernel、shape 推导、README 或运行时行为;两项均对应 issue #3383。 ## 关联的Issue 关联Issue #3383 ## 测试 - 对旧描述执行 grep 静态检查:旧 brief、Tensorflow 拼写及 FillDiagonal 均无命中。 - 对新描述执行 grep 静态检查:第 18 行匹配 Extracts one or more diagonals,第 36 行匹配 TensorFlow operator MatrixDiagPartV3。 - 仓内适用 pre-commit hooks:trailing-whitespace、large-file、merge-conflict、private-key、codespell 与 OAT 检查通过;EOF fixer 和写入式 clang-format 钩子显式跳过,避免改写原本无 EOF 换行的文件。 - 仓内 clang-format 18.1.8 使用 --dry-run --Werror --style=file 检查通过;git diff --check 通过。 - 未运行 CANN 单测、编译或 NPU 算子;本 PR 仅修改原型注释。 ## 文档更新 conversion/matrix_diag_part_v3/op_graph/matrix_diag_part_v3_proto.h:修正 brief 和 TensorFlow 兼容算子说明。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ### 当前PR是否有AI参与: [] 否 [x] 是 __1. Agent平台信息: Codex CLI 0.153.4 __2. 模型信息: gpt-5.6-luna __3. Prompt摘要: 依据 issue #3383 静态核对 MatrixDiagPartV3 原型语义与 TensorFlow 对应签名,仅修正两处注释;逐 hunk 对账并执行静态、格式与合规检查。 ### 希望检视人员了解: 1. 人工参与说明:用户提供挖掘报告、基线 commit、目标环境和提交流程;本轮代理独立核对源码与全量 issue/PR 命中、修复并执行验证。没有运行 CANN 单测或 NPU 算子。 See merge request: cann/ops-math!6101 | 29 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
support ascend960dt/ascend960pr Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !6523 merge dev-v121-bugfix into master support ascend960dt/ascend960pr Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 ascend960dt/ascend960pr 平台缺失部分算子的二进制编译配置,且 Concat→ConcatD 融合 pass 的 RegBase 平台判断未覆盖 ascend960dt(DAV_9201)架构,导致相关算子在 ascend960dt/ascend960pr 平台不可用。 本次改动: 1. conversion/concat_d/op_graph/fusion_pass/concat_to_concatd_fusion_pass.cpp:IsTargetPlatform() 的 regbaseArch 白名单新增 NpuArch::DAV_9201,使 Concat→ConcatD 融合 pass 在 ascend960dt 平台生效,日志同步更新。 2. scripts/kernel/binary_config/ascendc_config.json:为 Concat、ConcatD、ConcatV2、Pack、BatchToSpaceND、MatrixSetDiag、SpaceToDepth、DepthToSpace、Rint 共 9 个算子补充 ascend960dt 计算单元(compute_units)及对应编译选项配置。 3. **MatrixSetDiag 新增 ascend960dt/ascend960pr 平台支持**: - conversion/matrix_set_diag/CMakeLists.txt:COMPUTE_UNIT 新增 ascend960dt、ascend960pr,TILING_DIR 对应 arch35; - conversion/matrix_set_diag/op_host/matrix_set_diag_def.cpp:AICore 配置注册 ascend960dt、ascend960pr; - 新增 op_host/config/ascend960dt/matrix_set_diag_binary.json 与 op_host/config/ascend960pr/matrix_set_diag_binary.json(int8/int16/int32/int64 四种 dtype 二进制配置,DtypeByte 匹配)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3681 See merge request: cann/ops-math!6523 | 22 days ago | |
feat(matrix_set_diag_v2): 迁移A6算子支持到A5主线 Co-authored-by: focusforce<gongquanchao@huawei.com> # message auto-generated for no-merge-commit merge: !6146 merge v121_10 into master feat(matrix_set_diag_v2): 迁移A6算子支持到A5主线 Created-by: focusforce Commit-by: focusforce Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> matrix_set_diag_v2迁移A6算子支持到A5主线 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3492](https://gitcode.com/cann/ops-math/issues/3492) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6146 | 29 days ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
npu_format_cast support hif4 Co-authored-by: chaoying-zhang<zhangchaoying@huawei.com> # message auto-generated for no-merge-commit merge: !6579 merge support_hif4 into master npu_format_cast support hif4 Created-by: chaoying-zhang Commit-by: chaoying-zhang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Ascend960 npu_format_cast支持hif4数据类型ND转NZ ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3843](https://gitcode.com/cann/ops-math/issues/3843) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> weight_quant_batch_matmul_v2/quant_batch_matmul_v3/quant_batch_matmul_v4/grouped_matmul及其融合算子冒烟用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6579 | 16 days ago | |
修改aclnnstack golden Co-authored-by: zhanglei842<zhanglei842@huawei.com> # message auto-generated for no-merge-commit merge: !6240 merge master into master 修改aclnnstack golden Created-by: zhanglei842 Commit-by: zhanglei842 Merged-by: cann-robot Description: ## 描述 pack 是纯数据搬运算子(kernel Pack 语义等价 torch.stack),输出为输入按 axis 拼接的逐 bit 拷贝。现有测试 golden(conversion/pack/tests/assets/golden.py)存在以下不足: 1. 旧 aclnn_stack_golden 仅执行 torch.stack(tensors, dim),未建模 aclnnStack(op_api/aclnn_stack.cpp)的实际执行链——输入 cast 到 promoteType 后打包、输出侧再 cast 到输出 dtype,混合 dtype 用例的 golden 与设备行为不一致; 2. float8_e5m2 / float8_e4m3fn / hifloat8 / bfloat16 等以 ml_dtypes/en_dtypes 扩展 numpy dtype 到达 golden 的输入,torch.from_numpy 不识别,旧 golden 无处理路径; 3. complex32 以 float16 + 尾维 [2](real/imag 交错)存储,负 axis 须归一化到尾维之前,旧 golden 未处理; 4. 无精度标准(tolerance)声明,无 e2e(framework-api torch.stack)通路 golden。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3687 ## 测试 通过ttk验证了直调、geir、ete模式的调用验证,golden结果和npu,竞品相同 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6240 | 15 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6615 merge personal/wjc/20261020 into master fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 对 5 个 pad 系算子(circular_pad、pad_v3_grad、pad_v4_grad、pad_v3_grad_replicate、reflection_pad3d_grad)tiling 层错误日志进行错误码规范化整改。 **改动原因**:tiling 层存在大量 plain OP_LOGE 报错,框架统一将其映射为 EZ9999(内部错误),导致用户参数使用错误(dtype 不支持、shape 维数/尺寸非法、paddings 值越界等)无法按正式错误码归类上报。 **改动方法**(对齐官方 concat !3309 整改范式,与扫描清单逐条对账,0 漏改、0 多改): - 29 处:plain OP_LOGE → OP_LOGE_FOR_INVALID_{DTYPE|SHAPEDIM|SHAPES|SHAPESIZE|VALUE}_WITH_REASON,报错包含参数名、实际值、约束说明,宏自动映射 EZ0004~EZ0038 用户参数错误码 - 6 处:底层已正式上报后的重复透传日志改 OP_LOGE_WITHOUT_REPORT,避免重复报 EZ9999 - 保留不动:空指针检查 26 处(OP_CHECK_NULL_WITH_CONTEXT 为官方标准写法,用户传 nullptr 已在 aclnn 入口被 161001 拦截)、UB/平台资源类 16 处(tiling 层无对应正式宏)、其他内部错误日志(EZ9999 语义准确) 不含格式化改动与消息增强等非错误码类修改;arch35 子目录不在本次清单范围,另行处理。 ## 关联的Issue [无](https://gitcode.com/cann/ops-math/issues/3855) ## 测试 - pre-commit 全部通过(clang-format、codespell、OAT Compliance Check) - 与扫描清单全量对账:102 条调用点逐一核对,0 漏改、0 多改 - 错误码UT测试  ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6615 | 19 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 19 days ago | |
fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6615 merge personal/wjc/20261020 into master fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 对 5 个 pad 系算子(circular_pad、pad_v3_grad、pad_v4_grad、pad_v3_grad_replicate、reflection_pad3d_grad)tiling 层错误日志进行错误码规范化整改。 **改动原因**:tiling 层存在大量 plain OP_LOGE 报错,框架统一将其映射为 EZ9999(内部错误),导致用户参数使用错误(dtype 不支持、shape 维数/尺寸非法、paddings 值越界等)无法按正式错误码归类上报。 **改动方法**(对齐官方 concat !3309 整改范式,与扫描清单逐条对账,0 漏改、0 多改): - 29 处:plain OP_LOGE → OP_LOGE_FOR_INVALID_{DTYPE|SHAPEDIM|SHAPES|SHAPESIZE|VALUE}_WITH_REASON,报错包含参数名、实际值、约束说明,宏自动映射 EZ0004~EZ0038 用户参数错误码 - 6 处:底层已正式上报后的重复透传日志改 OP_LOGE_WITHOUT_REPORT,避免重复报 EZ9999 - 保留不动:空指针检查 26 处(OP_CHECK_NULL_WITH_CONTEXT 为官方标准写法,用户传 nullptr 已在 aclnn 入口被 161001 拦截)、UB/平台资源类 16 处(tiling 层无对应正式宏)、其他内部错误日志(EZ9999 语义准确) 不含格式化改动与消息增强等非错误码类修改;arch35 子目录不在本次清单范围,另行处理。 ## 关联的Issue [无](https://gitcode.com/cann/ops-math/issues/3855) ## 测试 - pre-commit 全部通过(clang-format、codespell、OAT Compliance Check) - 与扫描清单全量对账:102 条调用点逐一核对,0 漏改、0 多改 - 错误码UT测试  ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6615 | 19 days ago | |
feat: parallel_concat 算子新增 ascend960dt/ascend960pr 平台支持 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6444 merge 121 into master feat: parallel_concat 算子新增 ascend960dt/ascend960pr 平台支持 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 本次变更使能 parallel_concat(ParallelConcat)算子在 Ascend 960 平台(ascend960dt/ascend960pr)运行,涉及算子工程编译配置与算子定义注册两处改动。 改动原因:parallel_concat 算子此前仅注册 ascend950、ascend350 计算单元(复用 arch35 tiling/kernel 实现),需新增 ascend960dt、ascend960pr 平台支持,与仓库内其他 conversion 类算子的 Ascend 960 适配保持一致。 改动方法: 1. conversion/parallel_concat/CMakeLists.txt - SUPPORT_COMPUTE_UNIT 由 "ascend950" "ascend350" 扩展为 "ascend950" "ascend350" "ascend960dt" "ascend960pr" - SUPPORT_TILING_DIR 同步新增两个 "arch35",ascend960dt/ascend960pr 复用 op_host/arch35 tiling 实现 - add_kernel_sources 的 COMPUTE_UNITS 新增 ascend960dt ascend960pr,kernel 复用 arch35/parallel_concat.cpp 2. conversion/parallel_concat/op_host/parallel_concat_def.cpp - ParallelConcat 算子定义新增 AICore().AddConfig("ascend960dt", aiCoreConfig) 与 AICore().AddConfig("ascend960pr", aiCoreConfig),AICore 配置沿用 ascend950/ascend350 现有配置 ## 关联的Issue - #3644(https://gitcode.com/cann/ops-math/issues/3644) ## 测试 本次变更仅涉及平台注册与编译配置,未修改算子计算逻辑,kernel/tiling 复用 arch35 现有实现;仓库内已有 tests/ut(op_host tiling、infershape、op_kernel)与 GE 图模式样例 examples/arch35/test_geir_parallel_concat.cpp,可在 ascend960dt/ascend960pr 环境执行算子 UT 与 GE 图模式调用验证。 ## 文档更新 本次变更未涉及文档更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6444 | 23 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 21 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 21 days ago | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6615 merge personal/wjc/20261020 into master fix(circular_pad/pad_v3_grad/pad_v4_grad/reflection_pad3d_grad): E*9***内部错误码整改为正式语义码 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 对 5 个 pad 系算子(circular_pad、pad_v3_grad、pad_v4_grad、pad_v3_grad_replicate、reflection_pad3d_grad)tiling 层错误日志进行错误码规范化整改。 **改动原因**:tiling 层存在大量 plain OP_LOGE 报错,框架统一将其映射为 EZ9999(内部错误),导致用户参数使用错误(dtype 不支持、shape 维数/尺寸非法、paddings 值越界等)无法按正式错误码归类上报。 **改动方法**(对齐官方 concat !3309 整改范式,与扫描清单逐条对账,0 漏改、0 多改): - 29 处:plain OP_LOGE → OP_LOGE_FOR_INVALID_{DTYPE|SHAPEDIM|SHAPES|SHAPESIZE|VALUE}_WITH_REASON,报错包含参数名、实际值、约束说明,宏自动映射 EZ0004~EZ0038 用户参数错误码 - 6 处:底层已正式上报后的重复透传日志改 OP_LOGE_WITHOUT_REPORT,避免重复报 EZ9999 - 保留不动:空指针检查 26 处(OP_CHECK_NULL_WITH_CONTEXT 为官方标准写法,用户传 nullptr 已在 aclnn 入口被 161001 拦截)、UB/平台资源类 16 处(tiling 层无对应正式宏)、其他内部错误日志(EZ9999 语义准确) 不含格式化改动与消息增强等非错误码类修改;arch35 子目录不在本次清单范围,另行处理。 ## 关联的Issue [无](https://gitcode.com/cann/ops-math/issues/3855) ## 测试 - pre-commit 全部通过(clang-format、codespell、OAT Compliance Check) - 与扫描清单全量对账:102 条调用点逐一核对,0 漏改、0 多改 - 错误码UT测试  ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6615 | 19 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 16 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 19 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 16 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
fix(conversion): space_to_batch精度问题修复 Co-authored-by: onanfield<tianshang@huawei.com> # message auto-generated for no-merge-commit merge: !6429 merge fix/spacetobatch-wvalidmax-floor-div into master fix(conversion): space_to_batch精度问题修复 Created-by: onanfield Commit-by: onanfield Merged-by: cann-robot Description: ## 描述 space_to_batch W轴有效上界负分子整除向零截断,改为向下取整 ## 关联的Issue https://gitcode.com/wangyueting/changwei_liuyi/issues/112 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6429 | 23 days ago | |
fix(space_to_batch_nd): 修正 arch35 尾部 padding 块有效区间负向越界判断 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6511 merge fix_s2bnd into master fix(space_to_batch_nd): 修正 arch35 尾部 padding 块有效区间负向越界判断 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 conversion/space_to_batch_nd/op_kernel/arch35/space_to_batch_nd.h 中,HasValidRange、CalcValidRange、CalcBlockCountRange 三处在计算有效 block 区间上界时使用 (pt + sp - 1 - bi) / bsVal(CalcBlockCountRange 为 ... / bsN + 1)。当某个 block 完全落在尾部 padding 区域时,分子 pt + sp - 1 - bi 为负,而 C++ 整数除法向零截断得到 0,使本应为空的有效区间被判为 [0, 0] 非空;完全落在尾部 padding 的 block 因此被当作有效块,在 CopyInKey2/3/4 中越界读取相邻 batch 的数据。 本次将三处区间上界计算改为分子为负时取 -1(CalcBlockCountRange 中取 0),使区间判空,消除越界读取。 ## 关联的Issue #3685 ## 测试 本 PR diff 仅涉及 space_to_batch_nd.h,未包含测试文件变更。建议针对 block 完全落在尾部 padding 的 space_to_batch_nd 场景进行算子泛化 / 冒烟验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6511 | 22 days ago | |
docs: 修复注释与代码不一致(原型文件头文件名) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6495 merge docs/comment-cleanup-20261019-22 into master docs: 修复注释与代码不一致(原型文件头文件名) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正 \file 注释为实际文件名: - math/histogram_v2/op_graph/histogram_v2_proto.h:hans_encode_proto.h -> histogram_v2_proto.h。 - conversion/space_to_depth/op_graph/space_to_depth_proto.h:transpose_proto.h -> space_to_depth_proto.h。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3803 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - conversion/space_to_depth/op_graph/space_to_depth_proto.h - math/histogram_v2/op_graph/histogram_v2_proto.h ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6495 | 20 days ago | |
math仓算子适配350 Co-authored-by: zhouliang<zhouliang88@huawei.com> # message auto-generated for no-merge-commit merge: !5906 merge master into master math仓算子适配350 Created-by: zhou-liang1027 Commit-by: zhouliang Merged-by: cann-robot Description: ## 描述 math仓算子适配350 ## 关联的Issue [math仓算子适配350](https://gitcode.com/cann/ops-math/issues/3463) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5906 | 1 month ago | |
feat: split_v/split/unpack 算子支持 ascend960dt Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6032 merge ft-960dt-split into master feat: split_v/split/unpack 算子支持 ascend960dt Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - feat: split_v 算子支持 ascend960dt - feat: split 算子支持 ascend960dt - feat: unpack 算子支持 ascend960dt ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3353 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6032 | 1 month ago | |
【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !6636 merge master into master 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 chunk_cat、split_d、squeeze、unfold_grad的host侧错误码进行整改,将输入缺失、属性值及 Shape/Dtype 非法等场景改为对应的正式错误码,并避免外层重复上报覆盖底层错误,以及部分错误码错误使用的情况。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Experience Request|体验需求]: 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 [#3857](https://gitcode.com/cann/ops-math/issues/3857) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 共计63个错误码整改点,每个修改点各对应1个独立的测试UT,共63个全部PASS,同时库上已有UT用例共32个,不受影响仍然全部PASS。 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6636 | 19 days ago | |
【split_tensor】int16、int32、bool数据类型路由到AICORE上运行 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !5959 merge split-tensor-int32-support into master 【split_tensor】int16、int32、bool数据类型路由到AICORE上运行 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 调用aclnnSplitTensor算子,发现int32数据类型性能不佳,原因是计算走入到了AICPU实现。 实际上AICORE底层实现是支持int32数据类型的,只是aclnn L0接口白名单未添加int32数据类型,添加后即可走入AICORE实现。 int16和bool同样存在这个问题,同步修改。 实际修改(其余为pre-commit修改):  <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Requirement|需求建议]: 【split_tensor】【910B、910_93】int16、int32、bool数据类型路由到AICORE上运行 [#3673](https://gitcode.com/cann/ops-math/issues/3673) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 针对三种新增数据类型,精度标准采用md5,ATK泛化2万条用例全部通过。  <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 针对目前所有支持数据类型,精度标准采用md5,ATK泛化5千条用例全部通过。  泛化200个case,代码修改前后(AICPU性能对比AICORE性能),平均性能提升90%。 ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5959 | 23 days ago | |
【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !6636 merge master into master 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 chunk_cat、split_d、squeeze、unfold_grad的host侧错误码进行整改,将输入缺失、属性值及 Shape/Dtype 非法等场景改为对应的正式错误码,并避免外层重复上报覆盖底层错误,以及部分错误码错误使用的情况。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Experience Request|体验需求]: 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 [#3857](https://gitcode.com/cann/ops-math/issues/3857) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 共计63个错误码整改点,每个修改点各对应1个独立的测试UT,共63个全部PASS,同时库上已有UT用例共32个,不受影响仍然全部PASS。 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6636 | 19 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 16 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 16 days ago | |
修复 stack_ball_query 算子错误码 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6686 merge br.fix.errcode.stack_ball_query into master 修复 stack_ball_query 算子错误码 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/stack_ball_query算子EZ9999错误码整改,整改列表: | 层级 | 上报接口 | 文件 | 行号 | |---|---|---|---| | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 38 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 46 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 48 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 50 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 52 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 55 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 93 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 95 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 53 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 61 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 72 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 81 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 101 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 115 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 131 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 139 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 162 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 167 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 169 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 173 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 184 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 187 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 196 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 210 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 212 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 214 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 280 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 289 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 293 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 299 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 336 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 381 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 383 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 387 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 395 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 - UT 构建通过: bash build.sh -u --ophost --ops=stack_ball_query --soc=ascend910b --noexec -j8 - UT 测试通过: bash $ $ ./build/tests/ut/op_host/math_op_host_ut --gtest_filter='StackBallQuery*' Note: Google Test filter = StackBallQuery* ... [ RUN ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch [ OK ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch (0 ms) StackBallQueryInfershape TearDown [----------] 14 tests from StackBallQueryInfershape (0 ms total) [----------] Global test environment tear-down Global Environment TearDown [==========] 32 tests from 2 test suites ran. (25 ms total) [ PASSED ] 32 tests. - 黄区构建通过:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6686 | 15 days ago | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 19 days ago | |
feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6191 merge v121_10 into master feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 ## 关联的Issue #3498 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6191 | 25 days ago | |
fix: harden July math operators and relocate MulNoNan dtype inference Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6533 merge fix/july-five-ops-hardening-20261020 into master fix: harden July math operators and relocate MulNoNan dtype inference Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 TensorRedirect示例以字节填充生成FLOAT数据,且未完整设置Data输出描述、校验输出和传播文件写入错误;AddV2示例的两个Data使用相同索引,也未把输出校验和文件写入结果作为成功条件。本次修正这些路径,补齐相关资源清理,使示例在结果或文件写入异常时返回失败。 同步将TensorRedirect在Ascend 950PR&950DT系列产品上的rank描述对齐为[0,8],包括标量;AddV2约束说明对齐其参数表和实际支持类型。 基于主仓master 21854b2844e6d65ceecd2de0c7cb65efa44e41de,前次两算子修订受测提交:44980699fb1a7d5df1d5fd1a0d5b23141183ce40。 **MulNoNan:编译信息布局、CPU参考及GE示例** - math/mul_no_nan/op_host/arch35/mul_no_nan_tiling_arch35.h:用Ops::Base::BroadcastCompileInfo替代私有两字段结构。原结构为16字节,而BroadcastBaseTiling在平台对象为空时按带isAscendC字段的24字节结构读取,存在coreNum错位及ubSize越界读取风险;统一类型后沿用既有TilingPrepare初始化逻辑。现有Host UT的聚合初始化同步增加isAscendC字段。 - tests/assets/golden.py:CPU参考改用PyTorch乘法和where,移除Kernel/GEIR路径对TensorFlow的导入依赖;浮点中间值使用float64,普通模式回传原dtype,Promote模式保留高精度;INT32保留原生整数乘法回绕,x2为0时仍严格选择0。TensorFlow E2E原有注册与默认CPU回退保持原样。 - examples/arch35/test_geir_mul_no_nan.cpp:四种dtype的输入缓冲使用unique_ptr,检查分配和SetData;第二Data索引改为1并补齐输出描述;检查Session创建;严格核对输出数量、完整shape、dtype、缓冲大小和所有数值。保留原有27个场景,新增--list和单场景选择,并按仓库要求格式化。 - examples/arch35/CMakeLists.txt:新增独立GE示例构建配置,按ASCEND_HOME_PATH查找本套CANN的头文件及GE库。 - README与Proto:将950产品rank≤8限定到产品差异说明,补充GE空Tensor输出语义;将不存在的tf.math.multiply_no_nans改为tf.math.multiply_no_nan并区分浮点对应关系和INT32扩展;统一dtype标点及GE图模式入口。其他产品支持标记不变。 **MulNoNan:接手推导注册迁移** - dtype推导从op_host/mul_no_nan_infershape.cpp迁入op_graph/mul_no_nan_graph_infer.cpp,增加空context、两个输入dtype一致性检查,并返回输出dtype写入状态。 - 原4条dtype UT随注册移动至Graph测试目录,增加混合dtype拒绝用例。既有广播shape、编译信息修复、PyTorch golden和27场景示例保留,未修改Kernel算法。 - 仅导入源PR #6548中的MulNoNan部分;RaggedBinCount的3个文件没有导入,也不改写或关闭包含该排除项的原PR:https://gitcode.com/cann/ops-math/pull/6548。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3692 ## 测试 2026-10-21文档精简提交de3b179a823a7a9aa20e5813c9d74d680edf7b94:完成本次范围的README检查、链接/调用表渲染、diff及提交钩子检查;确认相对上一提交仅README变化,未重跑NPU、TTK或构建。此前设备验证仍归属原受测提交。 **接手合并后验证** - 受测提交:b0526c4e37ee8ba6abbab528e5adba66c7c02caa;定向JIT包构建/部署通过,构建并行度≤8。 - 当前普通CANN环境下,MulNoNan 6条用例、静态/动态12次执行通过:FP32/FP16/BF16/INT32等形、标量、交叉广播;混合dtype1条到达GE并由当前包的存量MulNoNanVerify按预期拒绝,不计作新V2 dtype分支执行覆盖。 - 使用July本地TTK 92496503b70e2e05892d15dd5b78d1f80eae77df、算子仓golden、已核对哈希的冻结输入,显式--pc=1,Promote/stat_rel_err;未使用LD_PRELOAD或注册屏蔽。 - 另有相同6条/12次诊断执行通过,用于迁移入口排查,独立标记,不能替代正式canndev产品包验证。配套canndev PR:https://gitcode.com/cann/canndev/pull/82602,目前受内部SDK依赖阻塞。 - 本次pre-commit/OAT、diff核对通过;MulNoNan示例/文档在本阶段未再修改,原27场景记录继续对应下述补扫提交。本次未重跑Host/Graph UT或全量本地CI。 补扫阶段受测提交:129d2d00dac66ed7d351ad5691dd2fd80b2c3171。以下该阶段结果保持原始归属,不重复计作接手后重跑。 **本次MulNoNan补扫验证** - build.sh --pkg --jit --soc=ascend950 --ops=tensor_redirect,add_v2,mul_no_nan -j8构建及定向vendor部署通过。 - TTK GEIR正向8/8:FP32、FP16、BF16、INT32、双向广播、标量、rank=8和空Tensor。 - TTK动态GEIR普通FP32 1/1通过。 - TTK GEIR特殊值4/4:三种浮点dtype覆盖NaN/Inf乘零、负零、仅x2判零及非零乘法传播;INT32覆盖边界溢出回绕。适配器调用仓内golden并对固定数学期望、返回dtype和Promote结果作独立断言。 - 最终GE示例27/27场景通过,逐场景独立进程执行;错误场景名和多余参数两条负向调用返回预期255。 - 补扫阶段的4条构建调用命令均实际执行通过;产物与27个场景验证使用的二进制哈希一致。pre-commit、OAT及文档检查通过。 - Host UT源码同步适配结构初始化,未单独执行;本次未运行全量本地CI、性能测试或其他产品验证。 **此前已交付算子的验证记录(对应此前受测提交)** 环境:Ascend950PR_9579,CANN 9.3.0~weekly.20260923.01,Python 3.12.9,TTK 92496503b70e2e05892d15dd5b78d1f80eae77df。构建并行度不超过8,TTK均显式使用--pc=1。 - build.sh --pkg --jit --soc=ascend950 --ops=tensor_redirect,add_v2 -j8构建及部署通过。 - TTK GEIR正向8/8:TensorRedirect覆盖标量、rank=8、普通及空Tensor;AddV2覆盖普通、广播、标量及空Tensor。 - 两个交付GE示例均原样编译、在NPU运行并退出0;校验shape/dtype,TensorRedirect逐bit比较输出,AddV2逐元素检查预期4.0。 - 两个示例分别将输入dump目标预置为目录,图执行成功后文件打开失败,程序均按预期返回255。 - pre-commit、全部5个修改文件的OAT和git diff --check通过;README链接、产品行、参数能力并集及渲染结构检查通过。 ## 文档更新 MulNoNan README删除多余的编译运行段落及场景选择说明,保留原有调用表、示例和算子IR链接。示例源码、CMake配置及算子实现未变。 新增算子的逐文件文档修订见上文;已按本次文档与示例指引核对产品完整名称、能力并集、链接、围栏和渲染,运行全部修改后的示例场景。40条原始扫描记录已逐项处置:对缺少其他产品实现、基线INI shape=all或私有format等证据不足项,保留既有支持信息和当前框架限制,不据此修改注册范围。 TensorRedirect的950产品rank及Proto说明对齐当前实现和标量用例,其他产品既有rank说明保留。AddV2明确不支持DOUBLE/COMPLEX128并指向既有产品差异说明。其他产品的运行行为未在本次设备上认证。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6533 | 19 days ago | |
fix(tile_with_axis): Tiling溢出/CeilDiv回绕与标量UB越界加固,补动态shape范围推导及golden Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6647 merge master-only-tile into master fix(tile_with_axis): Tiling溢出/CeilDiv回绕与标量UB越界加固,补动态shape范围推导及golden Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 对 TileWithAxis 算子(Ascend950 AICore 实现)进行加固,覆盖 Tiling 计算、动态 shape 推导与属性契约三个维度。 ### 改动原因 - Tiling 中 outerDim/innerDim/rowLength/rowOutElements/totalOutElements 乘积链缺少 int64 溢出守卫,超大 shape 下会回绕产生错误分块; - CeilDiv 对空张量(rowLength==0 / totalCount==0)存在除以 0 与负数回绕风险; - 标量输入(rank=0)时输出共 tiles 个元素,原实现单核整块搬运,tiles 超过单缓冲容量(ubSize/2/dtypeSize)时发生 UB 越界写; - axis/tiles 属性契约与 TBE/AICPU 基线不一致(axis 默认 0 vs 1,tiles 可选 vs 必选); - 算子声明支持动态 shape(DynamicShapeSupportFlag=true),但缺少 InferShapeRange 输出范围推导。 ### 改动方法 - 新增 CheckMulNoOverflow 对全部 int64 乘积链做符号与溢出校验,超限即返回 GRAPH_FAILED; - 空张量分支:ComputeUbFactor/ComputeTotalCount/MaxBlocksOnAxis/SelectInitialUbAxis 对 rowLength==0 返回 0 块数,多核切分 totalCount==0 时 SetBlockDim(1); - HandleScalarInput 引入 bufferSize/dtypeSize 单缓冲容量判断:tiles 超容量时沿 tiles 维分块(ubAxis=1,NDDMA dim1 源 stride=0 广播读),消除 UB 越界写; - axis 缺省值统一为 1(对齐 TBE/AICPU),tiles 改为 REQUIRED(对齐 proto/README/AICPU def); - 新增 InferShapeRange4TileWithAxis:输出 range = 输入 range,axis 维乘 tiles,-1/-2 未知维标记原样传播,带 int64 溢出检查; - proto 明确 x 仅支持 ND 格式,文档与 golden 补齐。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3874 ## 测试 - 更新 op_host UT:tiling(溢出/空张量/标量分块)与 infershape(未知维传播、axis/tiles 契约)用例; - 新增 tests/assets/golden.py:以 torch 小算子拼接实现 TileWithAxis 语义,提供 TTK kernel/GEIR 模式的 golden 与 binary_equal 容差声明。 ## 文档更新 - 更新 README.md(axis 默认值、tiles 必选、ND 格式约束、动态 shape 支持说明)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6647 | 16 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 19 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 21 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 days ago | |
fix(error-code): remediate illegal E*9*** reporting for four conversion ops Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6448 merge br_yyt_errorcode into master fix(error-code): remediate illegal E*9*** reporting for four conversion ops Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [ErrorCode] conversion 四算子非法 E*9*** 错误码整改 1. fill_diagonal_v2 空指针:OP_CHECK_NULL_WITH_CONTEXT(EZ9999)→ OP_LOGE_WITH_INVALID_INPUT(EZ0004) dtype / dtype 不一致 / coreNum:改为 OP_LOGE_FOR_INVALID_DTYPE(_S)_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 废弃 EZ0007:OP_LOGE_WITH_INVALID_INPUT_DTYPE → OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON AICPU launcher 失败:下层已正式首报 → 外层改为 OP_LOGE_WITHOUT_REPORT 补充 tiling 负向 UT(非法 dtype、dtype mismatch) 2. npu_format_cast srcTensor == nullptr:OP_LOGE(ACLNN_ERR_INNER_NULLPTR) → OP_CHECK_NULL + 返回 ACLNN_ERR_PARAM_NULLPTR(空参正式路径) 3. transpose_v2 dim/dtype/shape/perm 非法:OP_LOGE(context…) → 对应 OP_LOGE_FOR_INVALID_* 删除 GetPlatformInfo 外层失败判断(内层恒 SUCCESS,死路径) DoTiling 外层:内层已首报 → OP_LOGE_WITHOUT_REPORT 补充非法 dtype / perm 负向 UT 4. unsqueeze InferShape 空参 / axes 非法 / 维数超限:改为 OP_LOGE_WITH_INVALID_INPUT / OP_LOGE_FOR_INVALID_* L0:dim 越界、重复 → OP_LOGE_FOR_INVALID_VALUE_WITH_REASON;InferShape 已首报后外层 WITHOUT_REPORT contiguous 校验:ACL_ERROR_FAILURE → ACLNN_ERR_PARAM_INVALID(EZ1001) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3674](https://gitcode.com/cann/ops-math/issues/3674) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6448 | 16 days ago | |
fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6606 merge fix_errorNum_1021 into master fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 整改以下 43 个算子中非法使用的内部错误码(E*9****),使其符合错误码使用规范: - cholesky / complex / cross / cummax / cummin / cumprod / get_shape / histogram_v2 / is_finite / is_inf - kl_div_v2 / lin_space / log_add_exp / non_finite_check / pdist / polar / pows / radix_top_k - reduce_log_sum / reduce_log_sum_exp / reduce_max / reduce_mean / reduce_mean_with_count / reduce_min - reduce_nansum / reduce_std_with_mean / rfft1_d / search_sorted / signbit / sin / sinc / sinkhorn / topk - affine_grid / amp_update_scale / angle_v2 / arg_max_v2 / arg_min / arg_min_with_value / atan2 / bessel_i1e / cdist_grad - conversion/tril 改动原因:上述算子 op_host / op_api / op_graph 源码中存在裸 OP_LOGE (EZ9999 兜底上报)、 OP_CHECK_NULL_WITH_CONTEXT / OP_CHECK_NOTNULL (EZ9999 上报)等不符合错误码使用规范的上报路径,需按失败原因分类整改为正式语义码或内部透传。 采取的方法: - op_host 参数/输入校验类(shape / dtype / format / attr 值域等)裸 OP_LOGE → 正式语义宏(EZ0004 / EZ0008–EZ0038) - op_host 内部 API 失败类(平台能力查询、tiling API 失败等)→ OP_LOGE_WITHOUT_REPORT 透传,去掉 EZ9999 上报、保留日志 - OP_CHECK_NULL_WITH_CONTEXT (EZ9999)→ 显式空指针检查 + 正式码宏 - op_api OP_CHECK_NOTNULL (EZ9999)→ 显式检查 + OP_LOGE_WITHOUT_REPORT(ACLNN_ERR_INNER_NULLPTR) + 返回公共错误码 - op_api OP_LOGE(ACLNN_ERR_INNER_* / RUNTIME_ERROR) (561xxx / 361xxx)→ OP_LOGE_WITHOUT_REPORT ;正式参数码 ACLNN_ERR_PARAM_* (161xxx)保留 - 删除 CREATE_EXECUTOR 之后不可达的空指针死检查( CHECK_RET(executor.get()!=nullptr, ACLNN_ERR_INNER_CREATE_EXECUTOR) ,40 处) - op_graph(histogram_v2 / reduce_mean 融合 pass)E9 上报 → 正式码或透传 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3977 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 43 算子 op_host / op_api / op_graph 全量编译通过,exit 0(910b + 950/arch35) - 本地增加ut测试130 用例全量通过(910b 83 + 950 47),日志级验证触发 78 次正式 EZ 错误码上报,覆盖 14 个正式错误码 - 原版 math_op_host_ut 300 用例全量通过,无回归 - 静态复扫:范围内 E*9**** 正式上报清零(残留均为 CHECK_RET 返回公共码 / 动态 return 等允许项) - 附:适配 CANN 9.3.0 atvoss 库 tiling key 编码变化,更新 reduce_max / reduce_mean_with_count 测试的 9 处 expectedTilingKey (官方 master 在 9.3.0 下同样失败,非本 PR 引入) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6606 | 15 days ago | |
适配ascend350 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6165 merge dvlite into master 适配ascend350 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配ascend350 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3439](https://gitcode.com/cann/ops-math/issues/3439) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6165 | 30 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 27 days ago | |
【unfold_grad】修复issue问题 aclnnUnfoldGrad 文档内错误码正确分类 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !6717 merge fix/unfold-grad-3827 into master 【unfold_grad】修复issue问题 aclnnUnfoldGrad 文档内错误码正确分类 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 aclnnUnfoldGrad 文档错误码表把 5 类约束统一归到 561002(ACLNN_ERR_INNER_TILING_ERROR),但其中至少 4 类在实际调用链上根本到不了 tiling。aclnnUnfoldGradGetWorkspaceSize 的 CheckParams 会先将其拦截并返回 161002(ACLNN_ERR_PARAM_INVALID)。 文档承诺的错误码与代码路径不符。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Documentation|文档反馈]: aclnnUnfoldGrad 文档把 4 类几何入参违规归入 561002,但 aclnn 层实际先返回 161002 [#3827](https://gitcode.com/cann/ops-math/issues/3827) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 最新aclnnUnfoldGrad文档内错误码表格:  此外,不涉及影响精度的修改 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 conversion/unfold_grad/docs/aclnnUnfoldGrad.md <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6717 | 15 days ago | |
feat: split_v/split/unpack 算子支持 ascend960dt Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6032 merge ft-960dt-split into master feat: split_v/split/unpack 算子支持 ascend960dt Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - feat: split_v 算子支持 ascend960dt - feat: split 算子支持 ascend960dt - feat: unpack 算子支持 ascend960dt ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3353 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6032 | 1 month ago | |
fix(error-code): remediate illegal E*9*** reporting for four conversion ops Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6448 merge br_yyt_errorcode into master fix(error-code): remediate illegal E*9*** reporting for four conversion ops Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [ErrorCode] conversion 四算子非法 E*9*** 错误码整改 1. fill_diagonal_v2 空指针:OP_CHECK_NULL_WITH_CONTEXT(EZ9999)→ OP_LOGE_WITH_INVALID_INPUT(EZ0004) dtype / dtype 不一致 / coreNum:改为 OP_LOGE_FOR_INVALID_DTYPE(_S)_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 废弃 EZ0007:OP_LOGE_WITH_INVALID_INPUT_DTYPE → OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON AICPU launcher 失败:下层已正式首报 → 外层改为 OP_LOGE_WITHOUT_REPORT 补充 tiling 负向 UT(非法 dtype、dtype mismatch) 2. npu_format_cast srcTensor == nullptr:OP_LOGE(ACLNN_ERR_INNER_NULLPTR) → OP_CHECK_NULL + 返回 ACLNN_ERR_PARAM_NULLPTR(空参正式路径) 3. transpose_v2 dim/dtype/shape/perm 非法:OP_LOGE(context…) → 对应 OP_LOGE_FOR_INVALID_* 删除 GetPlatformInfo 外层失败判断(内层恒 SUCCESS,死路径) DoTiling 外层:内层已首报 → OP_LOGE_WITHOUT_REPORT 补充非法 dtype / perm 负向 UT 4. unsqueeze InferShape 空参 / axes 非法 / 维数超限:改为 OP_LOGE_WITH_INVALID_INPUT / OP_LOGE_FOR_INVALID_* L0:dim 越界、重复 → OP_LOGE_FOR_INVALID_VALUE_WITH_REASON;InferShape 已首报后外层 WITHOUT_REPORT contiguous 校验:ACL_ERROR_FAILURE → ACLNN_ERR_PARAM_INVALID(EZ1001) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3674](https://gitcode.com/cann/ops-math/issues/3674) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6448 | 16 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 16 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 16 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 19 days ago | |
feat: weight_quant_preprocess 新增 A8W4(F8F4) T-CG 数据流 MM_A8F4_TCG Co-authored-by: maqijun<maqijun@h-partners.com> # message auto-generated for no-merge-commit merge: !6068 merge feat/weight-quant-preprocess-f8f4-tcg into master feat: weight_quant_preprocess 新增 A8W4(F8F4) T-CG 数据流 MM_A8F4_TCG Created-by: maqijun Commit-by: maqijun Merged-by: cann-robot Description: ## 描述 为 weight_quant_preprocess(伪量化 Matmul 的前置参数预处理算子)新增 A8W4(F8F4) T-CG 数据流 MM_A8F4_TCG:x 为 FLOAT8_E4M3FN、weight 为 FLOAT4_E2M1(紧凑 4-bit)、weightScale 为 FP16/BF16 per-group({ceildiv(K,32),N},G>1),配套 QuantBatchMatmulV4 的 T-CG 伪量化场景,共 2 个子场景(weight 转置 → ND 直拷透传;weight 非转置 → ND→FRACTAL_NZ_C0_32 分形转换)。check/process 全部复用既有组件(含与 master 重名的存量符号统一加 9201 后缀),TCG 零新增 kernel。 ## 关联的Issue #3839 https://gitcode.com/cann/ops-math/issues/3839 ## 测试 二级冒烟(新增 MM_A8F4_TCG UT 用例全过,存量 91 例回归正常) ## 文档更新 docs/aclnnWeightQuantPreprocess.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6068 | 19 days ago | |
zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 Co-authored-by: zhu-xun00613388<zhuxun7@huawei.com> # message auto-generated for no-merge-commit merge: !6537 merge v121_master into master zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 Created-by: zhu-xun Commit-by: zhu-xun00613388 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6537 | 21 days ago | |
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!448 | 10 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 25 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 14 days ago | ||
| 19 days ago | ||
| 20 days ago | ||
| 14 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 15 days ago | ||
| 1 month ago | ||
| 18 days ago | ||
| 15 days ago | ||
| 19 days ago | ||
| 14 days ago | ||
| 16 days ago | ||
| 1 month ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 1 month ago | ||
| 14 days ago | ||
| 1 month ago | ||
| 15 days ago | ||
| 19 days ago | ||
| 14 days ago | ||
| 19 days ago | ||
| 26 days ago | ||
| 19 days ago | ||
| 20 days ago | ||
| 15 days ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 21 days ago | ||
| 16 days ago | ||
| 14 days ago | ||
| 19 days ago | ||
| 26 days ago | ||
| 1 month ago | ||
| 14 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 1 month ago | ||
| 22 days ago | ||
| 29 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 14 days ago | ||
| 16 days ago | ||
| 15 days ago | ||
| 14 days ago | ||
| 14 days ago | ||
| 14 days ago | ||
| 14 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 23 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 1 month ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 23 days ago | ||
| 22 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 19 days ago | ||
| 23 days ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 16 days ago | ||
| 15 days ago | ||
| 1 month ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 25 days ago | ||
| 19 days ago | ||
| 16 days ago | ||
| 19 days ago | ||
| 21 days ago | ||
| 14 days ago | ||
| 16 days ago | ||
| 15 days ago | ||
| 30 days ago | ||
| 27 days ago | ||
| 15 days ago | ||
| 1 month ago | ||
| 16 days ago | ||
| 16 days ago | ||
| 16 days ago | ||
| 19 days ago | ||
| 19 days ago | ||
| 21 days ago | ||
| 10 months ago |