| 根据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 |
| 修复PAD相关算子的资料错误 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !5526 merge personal/wjc/doc_fix into master 修复PAD相关算子的资料错误 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 修复 pad 类算子(CircularPad / ReflectionPad / ReplicationPad / ConstantPadNd)文档与示例代码中的 5 类问题: 1. **示例代码错误处理逻辑缺陷**:CHECK_RET(padding != nullptr, return ret) 中 ret 为上一步 CreateAclTensor 返回的成功值(0),aclCreateIntArray 失败时会以成功状态返回,掩盖错误。 统一修改为打印错误日志并返回 ACLNN_ERR_INTERNAL_ERROR。涉及: aclnnCircularPad3d.md、aclnnReflectionPad1d.md、aclnnReplicationPad3d.md 及 4 个对应 examples(reflection_pad_1d / replication_pad_3d / reflection_pad3d_grad / circular_pad 内嵌示例)。 2. **功能说明示例与 padding 声明不一致**:aclnnCircularPad3d.md 示例输出为 3 个 5×7 矩阵 (对应最后一维左右各填 2),与声明的 padding([1,1,1,1,1,1])(各填 1,应输出 5×5)不符。 经核算示例输出数值自洽,将 padding 声明修正为 [2,2,1,1,1,1]。 3. **printf 格式符可移植性问题**:示例以 %ld 格式化 int64_t,在 int64_t 映射为 long long 的平台(如 Windows/MSVC)属未定义行为,统一改为 PRId64 宏并补充 #include <inttypes.h>。 涉及 aclnnConstantPadNd.md、test_aclnn_constant_pad_nd.cpp、test_aclnn_replication_pad_3d.cpp。 4. **示例头文件错误**:test_aclnn_circular_pad.cpp 及 aclnnCircularPad2d.md 示例使用 printf 输出,但包含的是未使用的 <iostream>,替换为 <cstdio>。 5. **代码块语言标记不一致**:aclnnReflectionPad3dBackward.md 调用示例代码块标记 \\\Cpp 统一为 \\\cpp,与函数原型代码块一致。 另:test_aclnn_circular_pad.cpp、test_aclnn_reflection_pad3d_grad.cpp 按 pre-commit (clang-format)规范完成格式化。 ## 关联的Issue ## 测试 - 已对全部修改文件执行 pre-commit 检查(trailing-whitespace / end-of-file-fixer / clang-format / codespell 等均通过;OAT 检查依赖 bash,Windows 本地环境不可用) - 改动均为文档与示例代码纠错,不涉及算子实现逻辑,无需上板验证 ## 文档更新 - conversion/circular_pad/docs/aclnnCircularPad2d.md - conversion/circular_pad/docs/aclnnCircularPad3d.md - conversion/mirror_pad/docs/aclnnReflectionPad1d.md - conversion/pad_v3/docs/aclnnConstantPadNd.md - conversion/pad_v3/docs/aclnnReplicationPad3d.md - conversion/reflection_pad3d_grad/docs/aclnnReflectionPad3dBackward.md - 及上述算子 examples 下 5 个示例 .cpp 同步修改 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5526 | 2 months ago |
| refactor: 清理 conversion 与 tile 算子日志拼写、级别与语义错误 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !5337 merge f0903 into master refactor: 清理 conversion 与 tile 算子日志拼写、级别与语义错误 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 清理 conversion 与 math/tile 目录下 10 个算子的 host 侧、op_api 侧及测试代码中的日志消息,修正拼写错误、纠正日志级别、改善错误信息语义,并做代码格式化。改动不改变任何计算逻辑。 涉及算子:circular_pad、circular_pad_grad、mirror_pad(reflection_pad1d/2d/3d)、pad、pad_v2、pad_v3、pad_v3_grad_replication、transpose、tile ### 改动原因 - 多处错误日志存在拼写错误(dimention→dimension、inpit→input、over flow→overflow、couted→counted、shoule→should、rand→rank 等),影响问题定位效率 - 部分错误路径日志级别错误(如失败路径打印 INFO 而非 ERROR),误导排障 - 部分错误信息语义反义(如 "The last DIM of x is valid" 实为 invalid 场景),或语义不准(如 skip 场景打印 "failed") - 错误信息缺少实际值上下文(如只报 "must be even" 未给实际长度),不利于快速定位 - 中文顿号混入英文日志、单行函数体多行展开等格式问题 ### 改动方法 1. 拼写修正:dimention→dimension、inpit→input、Unsupport→Unsupported、cannot empty→cannot be empty、over flow→overflow、rand→rank、shoule→should、not support→not supported、couted→counted、groups.Got→groups. Got 2. 日志级别修正:test_geir_pad.cpp / test_geir_pad_v2.cpp 中 3 处失败路径 INFO→ERROR 3. 语义修正:circular_pad/circular_pad_grad tiling 中 "is valid"→"is invalid";pad_v3_grad_replication tiling 中 8 处 "failed"→"skipped";pad_onnx_plugin 中 "Dynamic cast failed"→"The pads attribute is missing in the node";circular_pad_common_tiling 中 "tiling data size"→"tiling data size(bytes)" 4. 错误信息增强:pad_onnx_plugin 补充实际长度值;pad_v3_grad_replication_infershape 补充实际 zDim 值;aclnn_constant_pad_nd 补充实际 padLen 值 5. 格式清理:中文顿号→英文逗号;单行函数体合并;ONNX 注册多行格式化;文件末尾补换行 ## 关联的Issue - #3019 ## 测试 - 改动仅涉及日志文本与格式,不改变计算逻辑,已有 UT 覆盖行为不变 - circular_pad 测试类名修正 circualr→circular(SetUp/TearDown 日志) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:日志消息清理(拼写/级别/语义修正与格式化) See merge request: cann/ops-math!5337 | 2 months ago |
| feat: pad_v3算子新增ascend960dt平台支持 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6397 merge dev_pad_v3 into master feat: pad_v3算子新增ascend960dt平台支持 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> pad_v3算子新增ascend960dt平台支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3612 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6397 | 27 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 | 15 days ago |
| feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6568 merge dev_960 into master feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6568 | 20 days ago |
| 更新文件 pad_simt_huge.h Co-authored-by: onanfield<tianshang@huawei.com> # message auto-generated for no-merge-commit merge: !6531 merge master into master 更新文件 pad_simt_huge.h Created-by: onanfield Commit-by: onanfield Merged-by: cann-robot Description: ## 描述 修复数组索引越界 - 文件pad_simt_huge.h - 函数SimtComputeHugeDimSeven ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3487 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6531 | 20 days ago |
| refactor: pad_v3/mirror_pad golden 内联 pad helper 副本,消除外部文件加载依赖 Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !6560 merge golden-self-contained into master refactor: pad_v3/mirror_pad golden 内联 pad helper 副本,消除外部文件加载依赖 Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - conversion/pad_v3/tests/assets/golden.py、conversion/mirror_pad/tests/assets/golden.py:删除 runpy.run_path + parents[4] 固定深度的外部加载,**内联各自的 pad helper 副本**(内容与 tests/golden_helpers/padding.py 同源),golden.py 成为完全自包含单文件。 - golden.py 单文件即可分发/随包打包/在 cross_check 竞品端独立执行,消除目录深度硬编码、单文件分发失效、远端探测失败等问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3760 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6560 | 21 days ago |
| feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6568 merge dev_960 into master feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6568 | 20 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 |