本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
子流水线支持更新门禁代码 Co-authored-by: jinyijian<jinyijian1@huawei.com> # message auto-generated for no-merge-commit merge: !4515 merge CI into master 子流水线支持更新门禁代码 Created-by: jinyijian Commit-by: jinyijian Merged-by: cann-robot Description: ## 描述 子流水线支持更新门禁代码 当门禁包含子流水线时,如果没有这个配置,会导致子流水线中任务无法更新最新代码,使用落后的代码跑门禁 ## 关联的Issue ## 测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4515 | 5 个月前 | |
[CANNBot]新增Shrink算子AscendC适配Ascend950 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !5184 merge operators/migrate-shrink-builtin into master [CANNBot]新增Shrink算子AscendC适配Ascend950 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增Shrink算子AscendC适配Ascend950 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2851 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟 5658 通过 OBP冒烟 22282 通过 使用ops-test-kit执行549条用例通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5184 | 4 个月前 | |
nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !5128 merge bugfix1 into master nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 ### 主要修改 - 删除6个独立的第三方库cmake文件(abseil-cpp、protobuf、eigen、gtest、json、makeself),共删除914行代码 - 改用公共工程的统一接口 add_cann_third_party() 管理第三方依赖 - 修改链接库命名:Eigen3::EigenNn → Eigen3::Eigen - 更新 cann-cmake 版本:master-004 → master-015 ## 关联的Issue [#2853](https://gitcode.com/cann/ops-nn/issues/2853) ## 测试 全量出包验证成功,ut门禁全量验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5128 | 4 个月前 | |
delete extra level2_base_loss.h | 4 个月前 | |
feat: migrate aicpu opdef json payloads to cpp defs Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !4390 merge def into master feat: migrate aicpu opdef json payloads to cpp defs Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 当前部分 AICPU 算子的 opdef 仍以 JSON 形式维护,构建时需要额外收集 JSON 文件,算子定义入口和维护方式不统一,不利于后续持续迁移和统一管理。 本次 PR 做了什么: 1. 将 Elu、Assert、Identity、GatherV2、ReverseSequence、ScatterElements、TensorScatterUpdate、Where 等 AICPU 算子的 opdef 从 JSON 迁移为 C++ 定义文件。 2. 新增 common/inc/aicpu/aicpu_op_def.h,补充 AICPU opdef 的公共声明。 3. 调整相关 CMakeLists.txt 以及 cmake/opbuild.cmake、cmake/symbol.cmake,支持 *_aicpu_def.cpp 的统一收集和构建。 4. 新增 scripts/kernel/binary_script/aicpu_parser_ini_to_json.py,补齐相关脚本能力。 ## 关联的Issue - 关联 Issue #2438 - https://gitcode.com/cann/ops-nn/issues/2438 ## 测试 1. 已核对 PR 对应提交为 08453e64840072937d255e0ad154825266439ba4。 2. 已重新执行 cmake -S /home/jiumao/open/ops-nn -B /home/jiumao/open/ops-nn/build_custom,完成 build_custom 配置刷新。 3. 已执行 cmake --build /home/jiumao/open/ops-nn/build_custom --target gen_aicpu_json_from_opdef -j8,重新生成 build_custom/autogen/aicpu_kernel.ini、build_custom/aicpu_opdef_kernel.json、build_custom/cust_aicpu_kernel.json。 4. 已手动执行 python3 scripts/kernel/binary_script/aicpu_parser_ini_to_json.py build_custom/autogen/aicpu_kernel.ini /tmp/ops_nn_aicpu_verify.json,输出 Compile op info cfg successfully.。 5. 已执行 python3 -m unittest tests/scripts/parser_ini_guard/test_aicpu_parser_ini_to_json.py,6/6 用例通过。 6. 已完成 before/after JSON 对比,8 个算子的金标准字段全部保留,无字段缺失。 7. 已完成 I/O normalized vs canndev 校验,Elu、Assert、Identity、GatherV2、ReverseSequence、ScatterElements、TensorScatterUpdate、Where 与 canndev 基线一致。 8. 本次按 skill 仅验证 custom 路径;未修改 parser_ini.py,因此 AICore before/after 回归按口径豁免。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4390 | 4 个月前 | |
extend_conv2d资料cleancode整改 Co-authored-by: zhangxiyan7<zhangxiyan7@huawei.com> # message auto-generated for no-merge-commit merge: !5200 merge master into master extend_conv2d资料cleancode整改 Created-by: zhangxiyan7 Commit-by: zhangxiyan7 Merged-by: cann-robot Description: ## 描述 修改extend_conv2d资料cleancode书写格式问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 不涉及 ## 文档更新 更新了README.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5200 | 4 个月前 | |
Modify the op_api_list and op_list Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !5204 merge master into master Modify the op_api_list and op_list Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 Modify the op_api_list and op_list ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2860 ## 测试 已对齐 ## 文档更新 op_api_list op_list ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5204 | 4 个月前 | |
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 4 个月前 | |
新增Elu算子(Ascend C) Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !4846 merge experimental-activation-elu-20260514 into master 新增Elu算子(Ascend C) Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 新增ascend c架构的elu算子至experimental/activation/elu目录下 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2698 ## 测试 | 类型 | 条数 | 通过率 / 结论 | |------|------|----------------| | Memacllocate | 2 / 2 | 100%,Pass | | Abnormal | 15 / 15 | 100%,Pass | | Dete | 40 / 40 | 100%,Pass | | Network | 40 / 40 | 100%,Pass | | Sanitizer | 8 / 8 | 100%,Pass | | Special | 32 / 32 | 100%,Pass | | Perf | 8 / 8 | 100%,Pass | | Accu_full | 2800 / 2800 | 100%,Pass | ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4846 | 4 个月前 | |
[CANNBot]Foreach系列部分算子支持Ascend950 Co-authored-by: SGQT<shangguanqinnan@huawei.com> # message auto-generated for no-merge-commit merge: !4911 merge mix_math2nn_all into master [CANNBot]Foreach系列部分算子支持Ascend950 Created-by: u010470851 Commit-by: SGQT Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> CANNBot算子生成,foreach类15个算子支持 Ascend 950 实现SIMT,同时对Ascend 950进行tiling、kernel侧的代码隔离,确保算子功能正常。 算子包括:ForeachAtan, ForeachCos, ForeachCosh, ForeachErf, ForeachExp, ForeachMaximumList, ForeachMaximumScalar, ForeachMaximumScalarList, ForeachMinimumList, ForeachMinimumScalar, ForeachMinimumScalarList, ForeachMulList, ForeachPowScalar, ForeachSubList, ForeachSubScalar ## Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联的Issue https://gitcode.com/cann/ops-nn/issues/2786 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> david冒烟、二级冒烟已过,门槛用例已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4911 | 4 个月前 | |
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 4 个月前 | |
修复aclnnIndexPutImpl确定性分支关于stride、valueSize错误导致的精度问题 Co-authored-by: 张煜炜<zhangyuwei31@huawei.com> # message auto-generated for no-merge-commit merge: !5021 merge LinearIndex_aclnnmodify into master 修复aclnnIndexPutImpl确定性分支关于stride、valueSize错误导致的精度问题 Created-by: surezz Commit-by: 张煜炜 Merged-by: cann-robot Description: ## 描述 修复aclnnIndexPutImpl确定性分支关于stride、valueSize错误导致的精度问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2800 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> david冒烟、二级冒烟、本地门槛用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5021 | 4 个月前 | |
fix: clang-format formatting for mse_loss and soft_margin_loss Apply clang-format to fix indentation (2-space to 4-space) and line wrapping for aclnn_mse_loss.cpp, aclnn_mse_loss_out.cpp, and aclnn_soft_margin_loss.cpp. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | 4 个月前 | |
enable A2/A3 16in32out for mm and bmm Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !5234 merge revert-mr-4823-1779713772815-auto into master enable A2/A3 16in32out for mm and bmm Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5234 | 4 个月前 | |
重写add_rms_norm_dynamic_quant ascend950 norm模板,取名singRow更符合方案设计 Co-authored-by: alfengyuan<2640706467@qq.com> # message auto-generated for no-merge-commit merge: !5111 merge 20260514 into master add singrow emplate for ascend950 Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重写950norm模板,参考910b的singleRow模板,因为SingRow可以包含更多的shape ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2778 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 精度一致,性能更好,包含更多的shape ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5111 | 4 个月前 | |
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 4 个月前 | |
新增了MaxPool2DWithMaskBackward 算子的atk用例和excutor Co-authored-by: Christina_YU<xiangzhiping1@h-partners.com> # message auto-generated for no-merge-commit merge: !5199 merge local into master 新增了MaxPool2DWithMaskBackward 算子的atk用例和excutor Created-by: Christina_YU Commit-by: Christina_YU Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增了MaxPool2DWithMaskBackward 算子的atk用例和excutor ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#2855](https://gitcode.com/cann/ops-nn/issues/2855) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 全部atk通过本地测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:新增了MaxPool2DWithMaskBackward 算子的atk用例和excutor See merge request: cann/ops-nn!5199 | 4 个月前 | |
modify dyanmic_mx_quant md Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> # message auto-generated for no-merge-commit merge: !5165 merge master into master modify dyanmic_mx_quant md Created-by: luo-yong-qing Commit-by: luo-yongqing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改dynamic_mx_quant算子md文件,文件中数据类型描述错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2839 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 文档修改,不涉及代码逻辑 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> https://gitcode.com/cann/ops-nn/blob/master/quant/dynamic_mx_quant/docs/aclnnDynamicMxQuantV2.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5165 | 4 个月前 | |
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 4 个月前 | |
nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !5128 merge bugfix1 into master nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 ### 主要修改 - 删除6个独立的第三方库cmake文件(abseil-cpp、protobuf、eigen、gtest、json、makeself),共删除914行代码 - 改用公共工程的统一接口 add_cann_third_party() 管理第三方依赖 - 修改链接库命名:Eigen3::EigenNn → Eigen3::Eigen - 更新 cann-cmake 版本:master-004 → master-015 ## 关联的Issue [#2853](https://gitcode.com/cann/ops-nn/issues/2853) ## 测试 全量出包验证成功,ut门禁全量验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5128 | 4 个月前 | |
nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !5128 merge bugfix1 into master nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 ### 主要修改 - 删除6个独立的第三方库cmake文件(abseil-cpp、protobuf、eigen、gtest、json、makeself),共删除914行代码 - 改用公共工程的统一接口 add_cann_third_party() 管理第三方依赖 - 修改链接库命名:Eigen3::EigenNn → Eigen3::Eigen - 更新 cann-cmake 版本:master-004 → master-015 ## 关联的Issue [#2853](https://gitcode.com/cann/ops-nn/issues/2853) ## 测试 全量出包验证成功,ut门禁全量验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5128 | 4 个月前 | |
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 4 个月前 | |
修改clang format Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !4385 merge master into master 修改clang format Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改clang-format 规划 1、枚举的{ 跟enum 同行 2、string开头不强制换行 3、短函数实现允许同行 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4385 | 5 个月前 | |
fix foreach tiling shape check Co-authored-by: alfengyuan<yuanyaofeng@h-partners.com> # message auto-generated for no-merge-commit merge: !3200 merge master into master fix foreach tiling shape check Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次PR主要包含两项优化和一项缺陷修复。首先,在代码库配置层面,为保持仓库整洁,添加了对ModelArts平台临时目录的忽略规则。其次,在代码逻辑层面,移除了一个算子实现中冗余的函数调用以简化流程。核心修复是针对Foreach算子输出形状检查逻辑中的一个缺陷,原逻辑过于严格,错误地限制了输出形状必须与输入完全一致,本次修复放宽了条件,允许输出形状与输入不同但元素总数不大于输入,从而支持了更灵活的操作场景。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1738 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3200 | 6 个月前 | |
增加pre-commit配置 Co-authored-by: jinyijian<jinyijian1@huawei.com> # message auto-generated for no-merge-commit merge: !3469 merge CI into master 增加pre-commit配置 Created-by: jinyijian Commit-by: jinyijian Merged-by: cann-robot Description: ## 描述 新增了pre-commit的yaml配置 ## 关联的Issue [1908](https://gitcode.com/cann/ops-nn/issues/1908) ## 测试 本地构造不同文件,测试拦截场景 ## 文档更新 docs/zh/develop/pre-commit_guide.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3469 | 6 个月前 | |
修改doc tools低错 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !4214 merge master into master 修改doc tools低错 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改nn仓的markdown语法、htlm是否闭合、链接是否可以正常跳转、本地链接是否正常跳转修改低错修改 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 全部文档的链接跳转、htlm标签闭合、markdown语法规范问题 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4214 | 5 个月前 | |
nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !5128 merge bugfix1 into master nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 nn仓第三方软件适配公共工程,简化构建配置,统一第三方依赖管理,提升可维护性。 ### 主要修改 - 删除6个独立的第三方库cmake文件(abseil-cpp、protobuf、eigen、gtest、json、makeself),共删除914行代码 - 改用公共工程的统一接口 add_cann_third_party() 管理第三方依赖 - 修改链接库命名:Eigen3::EigenNn → Eigen3::Eigen - 更新 cann-cmake 版本:master-004 → master-015 ## 关联的Issue [#2853](https://gitcode.com/cann/ops-nn/issues/2853) ## 测试 全量出包验证成功,ut门禁全量验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5128 | 4 个月前 | |
docs: 补充生态算子精度标准引用 Co-authored-by: chaotang233<tangchao47@hisilicon.com> # message auto-generated for no-merge-commit merge: !4572 merge update_idx_to_precision into master docs: 补充生态算子精度标准引用 Created-by: chaotang233 Commit-by: chaotang233 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加精度标准的索引,确保NN仓可以引用到精度标准 会议纪要:https://etherpad-cann.meeting.osinfra.cn/p/TSC  ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> CONTRIBUTING.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4572 | 5 个月前 | |
init | 1 年前 | |
规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !3385 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3385 | 6 个月前 | |
update lastest news Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !4977 merge master into master update lastest news Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> update lastest news 更新readme lastest news 版本信息 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4977 | 4 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 6 个月前 | |
fix Third_Party_Open_Source_Software_List.yaml Co-authored-by: liuyufan0725<liuyufan9@huawei.com> # message auto-generated for no-merge-commit merge: !1879 merge fix_yaml into master fix Third_Party_Open_Source_Software_List.yaml Created-by: liuyufan0725 Commit-by: liuyufan0725 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新三方依赖清单Third_Party_Open_Source_Software_List.yaml 1、增加protobuf 2、将nlohmann/json修改为json ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#1042](https://gitcode.com/cann/ops-nn/issues/1042) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了Third_Party_Open_Source_Software_List.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1879 | 7 个月前 | |
【描 述】 eigen update to 5.0.0 Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !1152 merge master into master 【描 述】 eigen update to 5.0.0 Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 现开源软件eigen 3.4.0 EOM,Eigen 从3.4.0版本升级到5.0.0,解决生命周期问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/975 https://gitcode.com/cann/ops-nn/issues/389 ## 测试   ## 文档更新 SECURITY.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:Update Eigen to 5.0.0 See merge request: cann/ops-nn!1152 | 7 个月前 | |
修改工程默认的第三方开源软件下载路径 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4968 merge bugfix1 into master 修改工程默认的第三方开源软件下载路径 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 ### 背景 工程默认的第三方开源软件路径和资料中显示的第三方开源软件路径不同 ### 主要修改 修改默认的第三方开源软件下载路径,改为资料中显示的路径 ## 关联的Issue [#2775](https://gitcode.com/cann/ops-nn/issues/2775) ## 测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4968 | 4 个月前 | |
添加AscendAntiQuantV2算子的classify_rule Co-authored-by: wang-siyang3<wangsiyang3@huawei.com> # message auto-generated for no-merge-commit merge: !5037 merge AscendAntiQuantV2 into master 添加AscendAntiQuantV2算子的classify_rule Created-by: clwsy1 Commit-by: wang-siyang3 Merged-by: cann-robot Description: ## 描述 添加AscendAntiQuantV2算子的classify_rule ## 关联的Issue ## 测试 无 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5037 | 4 个月前 | |
修改doc tools低错 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !4214 merge master into master 修改doc tools低错 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改nn仓的markdown语法、htlm是否闭合、链接是否可以正常跳转、本地链接是否正常跳转修改低错修改 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 全部文档的链接跳转、htlm标签闭合、markdown语法规范问题 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4214 | 5 个月前 | |
fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Co-authored-by: root<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !5110 merge master into master fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Created-by: yangyang016 Commit-by: root Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复社区体验测试中反馈的三类问题:文档缺少全量编译指引、Debian 系发行版依赖安装失败、以及 UT 公共头文件中 ACLNN_SUCCESS 未定义导致 nn_op_host_ut 编译失败。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> - Fixes #2790 — 文档缺少全量编译指导与耗时说明 - Fixes #2793 — install_deps.sh 在 Debian 13 等系统硬编码 gcc-9 导致安装失败 - Fixes #2794 — ut_string_utils.h 使用未定义的 ACLNN_SUCCESS 导致 UT 编译失败 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - [x] bash -n install_deps.sh 语法检查通过 - [x] 在无 ACLNN_SUCCESS 宏的 mock 头文件下对 ut_string_utils.h 做语法检查通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - **docs/QUICKSTART.md**:明确快速入门默认采用**单算子编译**(--ops),并引导需要整库构建时查阅 docs/zh/install/compile.md。 - **docs/zh/install/compile.md**:在「ops-nn包」章节增加全量编译说明:耗时与机器配置、-j 并行度及联网依赖相关;建议日常开发优先单算子编译。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5110 | 4 个月前 | |
[Docs] modify profile of quick_install Co-authored-by: wangzitao_leo<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !4156 merge profile_0423 into master [Docs] modify profile of quick_install Created-by: wangzitao_leo Commit-by: wangzitao_leo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新资料中: 1. --help时新增打印--soc支持的硬件平台; 2. quick_install指导资料中对于第三方依赖的安装资料调整,使得条理更加清晰,资料更为易用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#2274](https://gitcode.com/cann/ops-nn/issues/2274) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 根据资料安装第三方依赖 2. bash build.sh --help时打印--soc支持硬件平台列表 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 1. README.md 2. docs/zh/install/compile.md 3. docs/zh/install/quick_install.md 4. requirements.txt ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4156 | 5 个月前 | |
Remove the dependency asc-tool Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5220 merge eng into master Remove the dependency asc-tool Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 Remove the dependency asc-tool ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 工程编译验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5220 | 4 个月前 |
ops-nn
🔥Latest News
- [2026/03] 开源算子支持下一代芯片:Ascend950PR(!450)。
- [2026/03] 新增<<<>>>的算子开发样例(!620)。
- [2026/03] 低bit类算子和融合算子支持更多数据类型:fp8/mxfp8/hifp8/mxfp4等,并支持pertensor/perchannel/pertoken/pergroup/perblock等不同量化和组合方式:全量化融合算子:quant_batch_matmul_v4,伪量化融合算子:weight_quant_batch_matmul_v2。
- [2026/03] 支持SIMD/SIMT新同构编程算子实现:[MapIndex](#660),[ScatterSub](#710)。
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT/KirinX90,可以通过CANN Simulator仿真工具开发调试;优化指南类文档,聚焦算子开发指南,明确最小交付件和关键示例代码,针对Ascend/samples仓算子提供迁移本项目的指导;新支持稀疏4:2量化matmul算子,针对稀疏矩阵使能硬件加速能力。
- [2025/11] 新支持算子index_fill、masked_scatter、scatter、tf_scatter_add、fused_cross_entropy_loss_with_max_sum。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-nn项目首次上线,开源算子支持Atlas A2/A3系列产品。
🚀概述
ops-nn是CANN(Compute Architecture for Neural Networks)算子库中提供神经网络计算能力的高阶算子库,包括matmul类、activation类等算子,算子库架构图如下:

📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,命令如下,${tag_version}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新商发版CANN对应的源码。
git clone -b ${tag_version} https://gitcode.com/cann/ops-nn.git
说明:对于CANNLab云开发环境,已默认提供最新商发CANN版本配套的源码,如需获取其他版本源码,参考上述命令获取。
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。