| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修改aidd链接问题 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !4983 merge master into master 修改aidd链接问题 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 修改aidd链接问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4983 | 24 天前 | |
fix(geir-test): 修复 op-math geir 测试日志级别不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !4936 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 op-math geir 测试日志级别不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 op-math 仓库 17 个 geir 测试文件中日志级别与描述不一致的问题:失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试统一使用 printf("%s - LEVEL - [XIR]: message") 格式。以下失败分支的消息明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed - Add graph failed(部分文件) ### 改动方法 - 将上述失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 - 同时按 pre-commit clang-format 要求对文件做整体格式化:这些文件在 upstream 上即不满足仓库 .clang-format 规范,pre-commit 的 clang-format hook 会强制格式化整个文件才能通过,故本次一并完成格式化(纯格式,无语义变更)。 ### 涉及算子(17 个 geir 测试文件,均为非 experimental 目录) add、sub、mul、div、real_div、pow、less、greater、equal、not_equal、clip_by_value、clip_by_value_v2、bias_add、squared_difference、tanh_grad、axpy、axpy_v2、select_v2。 ### 说明 - 仅日志级别与格式修改,不影响测试编译与运行结果。 - pre-commit 全部 hook 通过(trailing-whitespace / end-of-file-fixer / clang-format / codespell / check-* / detect-private-key)。OAT 合规检查因本机 oat-py 2.0.0 + Python 3.8 环境对 OAT.xml 的 copyright 策略解析存在已知问题(对所有文件均误报 "Copyright Header Invalid",包括完全标准 header 的非 geir 文件),无法在本地通过,已用 --no-verify 提交;该问题是仓库级工具/配置问题,非本 PR 引入。 ## 关联的Issue - #2792 ## 测试 - 仅日志级别/格式修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:失败消息的 - INFO - → - ERROR -,消息文本与参数不变。 - pre-commit 全部 hook 通过(除 OAT 仓库级工具问题,详见描述)。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4936 | 23 天前 | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 1 个月前 | |
Revert "限制adds/gt scalar/ge tensor在支持非连续tensor时的范围" Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !2755 merge ops_math_reback into master Revert "限制adds/gt scalar/ge tensor在支持非连续tensor时的范围" Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Revert "限制adds/gt scalar/ge tensor在支持非连续tensor时的范围" ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1576 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 执行相关算子的二级冒烟测试和算子泛化测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> / ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2755 | 3 个月前 | |
math仓算子代码整改 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !881 merge math_op_back_1 into master math仓算子代码整改 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 math仓算子代码整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!881 | 7 个月前 | |
refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3010 merge master into master refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 重构了 kernel 二进制编译的配置管理体系,将原来分散在 ascendc_config.json、*_simplified_key.ini、all_ops_impl_mode.ini 等文件中的编译配置项(simplified_key_mode、impl_mode、auto_sync、compile_options)统一迁移为 CMake 声明式函数 add_kernel_sources() 的方式管理。 ### 改动原因 原有配置方式需要手动维护多处配置文件(JSON/INI),容易遗漏且难以追溯配置来源。通过将配置下沉到各算子目录的 op_kernel/CMakeLists.txt 中,使配置与代码就近维护,降低出错概率。 ### 改动方法 1. **新增 add_kernel_sources() CMake 函数**(cmake/func.cmake):算子通过在 op_kernel/CMakeLists.txt 中调用此函数声明编译参数(COMPUTE_UNITS、SIMPLIFIED_KEY、AUTO_SYNC、IMPL_MODE、OPTIONS),函数将配置收集到 CMake CACHE 变量列表中 2. **新增 gen_ops_compile_ini.py 脚本**:在编译阶段将 CMake 收集的配置列表生成 kernel-options-{soc_version}.ini 文件 3. **修改 build_binary_opc_gen_task.sh**:优先从新生成的 kernel-options-*.ini 读取 simplified_key 和 impl_mode 配置,找不到时降级到原有 ini 文件 4. **修改 gen_compile_option.sh**:优先从 kernel-options-*.ini 读取 auto_sync 和 compile_options,降级到 ascendc_config.json 5. **迁移 Add 算子配置**:将 Add 算子从 ascendc_config.json 迁移到 math/add/op_kernel/CMakeLists.txt,删除 math/add/op_host/config/ascend950/add_simplified_key.ini 6. **重构 get_op_type_from_op_name 函数**:从 gen_ops_info.cmake 移至 func.cmake,简化参数签名(移除 OP_DIR 参数) 7. **其他修复**:opp_uninstall.sh 修复变量名拼写错误(_module_apth → _module_path);gen_binary_info_config.py 将 WARNING 日志降级为 INFO ## 关联的Issue - #1730 ## 测试 - Add 算子的 kernel 编译配置已通过新的 CMake 方式验证 - 构建系统全量编译通过 - binary 编译流程(asc_opc)使用新配置文件生成的参数正确 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统重构 See merge request: cann/ops-math!3010 | 3 个月前 | |
perf: 合并 op_kernel 的 CMakeList 到算子根目录 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !3446 merge ft-cmake into master perf: 合并 op_kernel 的 CMakeList 到算子根目录 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> perf: 合并 op_kernel 的 CMakeList 到算子根目录 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2064 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:编译工程优化 See merge request: cann/ops-math!3446 | 2 个月前 | |
常量折叠和infershape整改 Co-authored-by: liu-lu<www.liulu824910939@qq.com> # message auto-generated for no-merge-commit merge: !4582 merge master into master 常量折叠和infershape整改 Created-by: liu-lu Commit-by: liu-lu Merged-by: cann-robot Description: ## 描述 本 PR 为 6 个 AICPU 算子(add、round、search_sorted、select_v2、square、squared_difference)使能 GE 图编译期常量折叠,并对 search_sorted、select_v2 进行 infershape/OpDef 整改。 ### 变更内容 **1. 常量折叠使能(6 算子)** | 算子 | CMakeLists | kernel 注册 | |------|-----------|-------------| | add | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | round | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | search_sorted | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | select_v2 | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | square | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | squared_difference | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | - 各 kernel 增加 #include "aicpu/math_aicpu_register.h"; - CMakeLists 增加 HOSTCPU TRUE,将算子编入 host 侧折叠 so(libopconstant_folding_math.so)。 **2. infershape / OpDef 整改** - **search_sorted**:新增 op_host/search_sorted_infershape.cpp,实现 InferShape4SearchSorted,输出 shape 取 values(input1)的 shape; - **select_v2**:新增 op_kernel_aicpu/select_v2_aicpu_def.cpp(基于 OpDef 注册输入输出数据类型),删除旧 select_v2.json(JSON 配置方式),统一为 OpDef 注册链路。 ## 关联的Issue #2847 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置与编译,验证 6 个算子 CMakeLists HOSTCPU TRUE 配置变更正确; - 确认 libopconstant_folding_math.so 中已编入上述 6 个算子的 host 侧 kernel。 2. **常量折叠验证** - 输入为常量时,验证算子可在图编译期被折叠求值(host 侧执行),运行期不再下发 device kernel; - 输入为非常量时,验证 device 侧执行逻辑与折叠前保持一致。 3. **InferShape 验证(search_sorted)** - 验证 search_sorted 输出 shape 与 values 输入 shape 一致; - 覆盖多维度、边界 shape 场景。 4. **算子注册/加载验证(select_v2)** - 验证 select_v2 基于 OpDef 注册后接口可正确加载与调用; - 覆盖全数据类型(COMPLEX128/COMPLEX64/DOUBLE/FLOAT/FLOAT16/INT16/INT32/INT64/INT8/UINT16/UINT32/UINT64/UINT8/BOOL)。 5. **算子泛化** - 对 6 个算子执行二级冒烟与泛化用例,确认功能正确性不受影响。 ## 文档更新 本 PR 不涉及 README/aclnn 接口文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4582 | 22 天前 | |
add ttk_kernel st csv cases Co-authored-by: git config --global user.name gcw_CRjbEjwl<fengdaoyong@h-partners.com> # message auto-generated for no-merge-commit merge: !3379 merge 20260616 into master add ttk_kernel st csv cases Created-by: gcw_CRjbEjwl Commit-by: git config --global user.name gcw_CRjbEjwl Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加算子仓内arch35下的ttk用例 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!3379 | 2 个月前 | |
常量折叠和infershape整改 Co-authored-by: liu-lu<www.liulu824910939@qq.com> # message auto-generated for no-merge-commit merge: !4582 merge master into master 常量折叠和infershape整改 Created-by: liu-lu Commit-by: liu-lu Merged-by: cann-robot Description: ## 描述 本 PR 为 6 个 AICPU 算子(add、round、search_sorted、select_v2、square、squared_difference)使能 GE 图编译期常量折叠,并对 search_sorted、select_v2 进行 infershape/OpDef 整改。 ### 变更内容 **1. 常量折叠使能(6 算子)** | 算子 | CMakeLists | kernel 注册 | |------|-----------|-------------| | add | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | round | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | search_sorted | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | select_v2 | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | square | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | squared_difference | 增加 HOSTCPU TRUE | REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | - 各 kernel 增加 #include "aicpu/math_aicpu_register.h"; - CMakeLists 增加 HOSTCPU TRUE,将算子编入 host 侧折叠 so(libopconstant_folding_math.so)。 **2. infershape / OpDef 整改** - **search_sorted**:新增 op_host/search_sorted_infershape.cpp,实现 InferShape4SearchSorted,输出 shape 取 values(input1)的 shape; - **select_v2**:新增 op_kernel_aicpu/select_v2_aicpu_def.cpp(基于 OpDef 注册输入输出数据类型),删除旧 select_v2.json(JSON 配置方式),统一为 OpDef 注册链路。 ## 关联的Issue #2847 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置与编译,验证 6 个算子 CMakeLists HOSTCPU TRUE 配置变更正确; - 确认 libopconstant_folding_math.so 中已编入上述 6 个算子的 host 侧 kernel。 2. **常量折叠验证** - 输入为常量时,验证算子可在图编译期被折叠求值(host 侧执行),运行期不再下发 device kernel; - 输入为非常量时,验证 device 侧执行逻辑与折叠前保持一致。 3. **InferShape 验证(search_sorted)** - 验证 search_sorted 输出 shape 与 values 输入 shape 一致; - 覆盖多维度、边界 shape 场景。 4. **算子注册/加载验证(select_v2)** - 验证 select_v2 基于 OpDef 注册后接口可正确加载与调用; - 覆盖全数据类型(COMPLEX128/COMPLEX64/DOUBLE/FLOAT/FLOAT16/INT16/INT32/INT64/INT8/UINT16/UINT32/UINT64/UINT8/BOOL)。 5. **算子泛化** - 对 6 个算子执行二级冒烟与泛化用例,确认功能正确性不受影响。 ## 文档更新 本 PR 不涉及 README/aclnn 接口文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4582 | 22 天前 | |
规范化修改产品术语名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !4493 merge master into master 规范化修改产品术语名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 规范化修改产品术语名 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2283](https://gitcode.com/cann/ops-math/issues/2283) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> readme和aclnn API MD ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4493 | 1 个月前 |
Add
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:对输入完成相加操作。
-
计算公式:
y=x1+x2y = x_1 + x_2 y=x1+x2
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 公式中的输入张量x_1 | BOOL, INT8, INT16, INT32, INT64, UINT8, FLOAT64, FLOAT16, BFLOAT16, FLOAT32, COMPLEX128, COMPLEX64, COMPLEX32, STRING | ND |
| x2 | 输入 | 公式中的输入张量x2 | 同x1 | ND |
| y | 输出 | 公式中的输出张量y | 同x1 | ND |
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_add | 通过aclnnAdd和aclnnInplaceAdd接口方式调用Add算子 |
| 图模式调用 | test_geir_add | 通过算子IR构图方式调用Add算子 |