本项目是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 | 3 个月前 | |
fix misspelling Co-authored-by: east_yang<yangdong48@huawei.com> # message auto-generated for no-merge-commit merge: !4658 merge master into master fix misspelling Created-by: east_yang Commit-by: east_yang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4658 | 3 个月前 | |
fix wherefusionpass bug is socversion Co-authored-by: biabu111<hebaojing1@huawei.com> # message auto-generated for no-merge-commit merge: !4519 merge master into master fix wherefusionpass bug is socversion Created-by: biabu111 Commit-by: biabu111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> wherefusion pass 融合规则修改soc vesion 为 npu arch ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2595 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已通过相关冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4519 | 3 个月前 | |
feat: 控制类算子迁移math仓 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3995 merge master-local0420 into master feat: 控制类算子迁移math仓 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3995 | 3 个月前 | |
feat: 控制类算子迁移math仓 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3995 merge master-local0420 into master feat: 控制类算子迁移math仓 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3995 | 3 个月前 | |
回退relu修改 | 3 个月前 | |
modified md files(op_api_list.md) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !4665 merge master into master modified md files(op_api_list.md) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Updated the link to aclnnEmbeddingRenorm.md in op_api_list.md. ## 关联的Issue [#2606](https://gitcode.com/cann/ops-nn/issues/2606) ## 测试 NA ## 文档更新 docs/zh/op_api_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4665 | 3 个月前 | |
补充add_example的infershape ut Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4533 merge issue_fix2 into master 补充add_example的infershape ut Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 ### 背景 当前代码仓内提供的add_example样例缺少infershape ut ### 主要修改内容 增加test_add_example_infershape.cpp,为add_example补充缺少infershape ut ## 关联的Issue [#2471](https://gitcode.com/cann/ops-nn/issues/2471) ## 测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4533 | 3 个月前 | |
GeluGradV2算子贡献 Co-authored-by: ilovescrapy<2623969821@qq.com> # message auto-generated for no-merge-commit merge: !3226 merge master into master GeluGradV2算子贡献 Created-by: ilovescrapy Commit-by: ilovescrapy Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3226 | 3 个月前 | |
OP_LOGE接口整改 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !4446 merge master into master OP_LOGE接口整改 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 foreach类算子op_loge接口整改 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2138 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> na ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4446 | 3 个月前 | |
optimize OP_LOGE format Co-authored-by: LuckySun<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !4451 merge reason into master optimize OP_LOGE format Created-by: LuckySun Commit-by: LuckySun Merged-by: cann-robot Description: ## 描述 查漏补缺,错误信息规范化 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2220 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:日志整改 See merge request: cann/ops-nn!4451 | 3 个月前 | |
fix wherefusionpass bug is socversion Co-authored-by: biabu111<hebaojing1@huawei.com> # message auto-generated for no-merge-commit merge: !4519 merge master into master fix wherefusionpass bug is socversion Created-by: biabu111 Commit-by: biabu111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> wherefusion pass 融合规则修改soc vesion 为 npu arch ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2595 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已通过相关冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4519 | 3 个月前 | |
feat: 为缺失算子补充 op_graph 构建配置支持 Co-authored-by: cao-ren-lei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !4445 merge op_proto_new into master feat: 为缺失算子补充 op_graph 构建配置支持 Created-by: caorenlei Commit-by: cao-ren-lei Merged-by: cann-robot Description: ## 描述 为缺失的算子补充 CMakeLists 配置文件,支持 op_graph 插件构建。 ### 改动原因 部分算子的 op_graph 目录缺少 CMakeLists.txt 配置文件,导致无法正确编译 op_graph 插件。同时需要支持将 proto.h 文件合并到统一的 ops_proto_nn.h 文件中。 ### 改动方法 1. **新增构建配置文件**:为 11 个算子的 op_graph 目录新增标准 CMakeLists.txt 文件,调用 add_graph_plugin_sources() 函数 2. **重命名 proto 头文件**:将 cross_entropy_loss.h 和 cross_entropy_loss_grad.h 重命名为 *_proto.h,支持合并到统一头文件 3. **修正文件格式**:修复部分 CMakeLists.txt 文件末尾缺少换行符的问题 ### 涉及算子 - **activation**: softmax_cross_entropy_with_logits - **loss**: binary_cross_entropy, binary_cross_entropy_grad, cross_entropy_loss, cross_entropy_loss_grad, ctc_loss_v2, ctc_loss_v2_grad, l1_loss_grad, l2_loss, lp_loss, mse_loss, mse_loss_grad, smooth_l1_loss_grad_v2 - **optim**: apply_adam_d ## 测试 已验证 CMakeLists 配置文件的语法正确性,op_graph 插件能够正常编译。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统配置补充 ## 关联的Issue - #2550 See merge request: cann/ops-nn!4445 | 3 个月前 | |
fix: QBMM int4 950 output type Co-authored-by: 刘奕哲<liuyizhe6@huawei.com> # message auto-generated for no-merge-commit merge: !4627 merge qbmm-fix into master fix: QBMM int4 950 output type Created-by: Creeeeper Commit-by: 刘奕哲 Merged-by: cann-robot Description: ## 描述 更正950 QBMM int4的输出数据类型,修复图模式数据类型报错 ## 关联的Issue 关联Issue: [#2600](https://gitcode.com/cann/ops-nn/issues/2600) ## 测试 本地自验证。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4627 | 3 个月前 | |
fill norm op_loge gaps Co-authored-by: LuckySun<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !4648 merge 0509 into master fill norm op_loge gaps Created-by: LuckySun Commit-by: LuckySun Merged-by: cann-robot Description: ## 描述 处理遗漏的norm类算子OP_LOGE整改 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2220 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:日志整改 See merge request: cann/ops-nn!4648 | 3 个月前 | |
feat: 为缺失算子补充 op_graph 构建配置支持 Co-authored-by: cao-ren-lei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !4445 merge op_proto_new into master feat: 为缺失算子补充 op_graph 构建配置支持 Created-by: caorenlei Commit-by: cao-ren-lei Merged-by: cann-robot Description: ## 描述 为缺失的算子补充 CMakeLists 配置文件,支持 op_graph 插件构建。 ### 改动原因 部分算子的 op_graph 目录缺少 CMakeLists.txt 配置文件,导致无法正确编译 op_graph 插件。同时需要支持将 proto.h 文件合并到统一的 ops_proto_nn.h 文件中。 ### 改动方法 1. **新增构建配置文件**:为 11 个算子的 op_graph 目录新增标准 CMakeLists.txt 文件,调用 add_graph_plugin_sources() 函数 2. **重命名 proto 头文件**:将 cross_entropy_loss.h 和 cross_entropy_loss_grad.h 重命名为 *_proto.h,支持合并到统一头文件 3. **修正文件格式**:修复部分 CMakeLists.txt 文件末尾缺少换行符的问题 ### 涉及算子 - **activation**: softmax_cross_entropy_with_logits - **loss**: binary_cross_entropy, binary_cross_entropy_grad, cross_entropy_loss, cross_entropy_loss_grad, ctc_loss_v2, ctc_loss_v2_grad, l1_loss_grad, l2_loss, lp_loss, mse_loss, mse_loss_grad, smooth_l1_loss_grad_v2 - **optim**: apply_adam_d ## 测试 已验证 CMakeLists 配置文件的语法正确性,op_graph 插件能够正常编译。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统配置补充 ## 关联的Issue - #2550 See merge request: cann/ops-nn!4445 | 3 个月前 | |
修复aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM并上报timeout or trap error错误问题 Co-authored-by: kevin_huang<kevin.huangdi@huawei.com> # message auto-generated for no-merge-commit merge: !4497 merge master into master 修复aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM并上报timeout or trap error错误问题 Created-by: kevin_huang1234 Commit-by: kevin_huang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. AdaptiveMaxPool3d算子在kernel侧和tiling侧使用的结构体不一致,在使用特殊的OOM包越界检查时, 会导致OOM工具包中获取到的输入tensor大小为0,从而发生OOM错误。 2. 修改方式:将tiling侧使用的tiling结构体修改为kernel侧注册的tiling结构体 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [Bug-Report|缺陷反馈]: aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM,上报timeout or trap error错误 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 回归验证已有的adaptivemaxpool3d算子ST,并且冒烟测试通过 2. 回归验证涉及的adaptiveavgpool3d算子ST, 并且冒烟测试通过 3. 发生OOM错误的测试用例,在使用OOM包进行测试后已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4497 | 3 个月前 | |
DynamicBlockMxQuant tiling UT error Co-authored-by: yin-peng-hw<yinpeng37@huawei.com> # message auto-generated for no-merge-commit merge: !4636 merge DynamicBlockMxQuantDST into master DynamicBlockMxQuant tiling UT error Created-by: yin-peng Commit-by: yin-peng-hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 修复DynamicBlockMxQuant tiling UT 部分用例校验失败问题; 2. 规范DynamicBlockMxQuant、DynamicDualLevelMxQuant、DynamicMxQuantWithDualAxis tiling ut部分代码的写法 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#2599](https://gitcode.com/cann/ops-nn/issues/2599) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地tiling ut验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4636 | 3 个月前 | |
doc Tools扫描资料低错问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !4231 merge master into master doc Tools扫描资料低错问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描资料低错问题修改 See merge request: cann/ops-nn!4231 | 4 个月前 | |
去除kernel脚本的错误语法 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4644 merge issue_fix into master 去除kernel脚本的错误语法 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 ### 背景 ascendc_impl_build.py存在错误代码if bisheng != None:,这种写法应该禁止使用 ### 修改内容 将if bisheng != None 改未 if bisheng is not None ## 关联的Issue [#2596](https://gitcode.com/cann/ops-nn/issues/2596) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4644 | 3 个月前 | |
qbmmv4 api quant_batch_matmul_v3/v4 ut重构 Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !3900 merge ut/0413 into master qbmmv4 api quant_batch_matmul_v3/v4 ut重构 Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 将 quant_batch_matmul_v3 和 quant_batch_matmul_v4 相关 op_host / op_api UT 统一改为 CSV 驱动模式,补充并整理对应 CSV 用例。 新增公共字符串解析能力 tests/ut/common/ut_string_utils.h,统一封装 Trim、字符串切分、bool 解析、dims 解析、默认 stride 构造等 UT 常用基础能力,减少各个测试文件内重复解析代码。 调整 quant_batch_matmul_v3 的 ACLNN op_api、infershape、tiling UT,以及 quant_batch_matmul_v4 的 tiling、infershape、pergroup、pertile、A8W4、QuantMatmulV5 op_api UT 的用例加载方式,统一通过 GetParams / LoadParamsFromCsv 从 CSV 读取参数并实例化参数化测试。 补充 test_aclnn_quant_matmul_v3.csv、test_aclnn_quant_matmul_v4.csv、test_aclnn_quant_matmul_weight_nz.csv、test_quant_batch_matmul_v3_infershape.csv 以及多类 quant_batch_matmul_v4 CSV 用例,清理旧的重复手写用例逻辑,提升 UT 可读性和维护性。 同步修复流水线中 CSV 路径解析、参数化用例空实例化、V4 caseName 解析和 V3 Ascend950 多线程 UT 稳定性问题。 本次修改范围仅限 UT、CSV 用例和测试公共代码,不修改算子实现逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2150 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地跑了下面命令: bash build.sh -u --ophost --ops=quant_batch_matmul_v4 --cov bash build.sh -u --opapi --ops=quant_batch_matmul_v3 --cov bash build.sh -u --ophost --ops=quant_batch_matmul_v3 --cov 用例都PASS了 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:ut重构 See merge request: cann/ops-nn!3900 | 3 个月前 | |
修改整仓产品名问题及标签问题 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !4204 merge master into master 修改整仓产品名问题及标签问题 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: 修改整仓产品名问题及标签问题 See merge request: cann/ops-nn!4204 | 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 | 3 个月前 | |
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 | 5 个月前 | |
增加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 | 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 | 3 个月前 | |
refactor: 引用工程公共仓cann-cmake统一打包构建API,移除本地冗余脚本 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4109 merge bugfix1 into master refactor: 引用工程公共仓cann-cmake统一打包构建API,移除本地冗余脚本 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 重构 ops-nn 仓库的打包构建流程,将本地维护的打包脚本和安装脚本替换为引用工程公共仓 cann-cmake 中统一的 API,降低构建工程的复杂度和维护成本。 ### 主要改动: 1. 升级 cann-cmake 版本:从 master-001 升级到 master-002,新增 SHA256 校验(fetch_cann_cmake.cmake) 2. 替换打包脚本引用路径:将 cmake/package.cmake 中所有 ${CMAKE_SOURCE_DIR}/scripts/package/ 和 ${CMAKE_SOURCE_DIR}/cmake/ 本地路径替换为 ${CANN_CMAKE_DIR}/ 公共路径 3. 移除本地冗余脚本:删除 cmake/makeself_built_in.cmake、cmake/makeself_custom.cmake、cmake/third_party/makeself-fetch.cmake 以及 scripts/package/common/ 和 scripts/package/latest_manager/ 下的全部 21 个文件 3. 更新打包配置:新增 CPACK_PACKAGE_PARAM_NAME 参数和 share_info_name XML 配置项(ops_math.xml) 4. 更新编译文档:同步更新 cann-cmake 版本号说明(docs/zh/install/compile.md) ## 关联的Issue [#2381](https://gitcode.com/cann/ops-nn/issues/2381) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 docs/zh/install/compile.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建重构 See merge request: cann/ops-nn!4109 | 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 | 3 个月前 | |
init | 10 个月前 | |
规范化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 | 4 个月前 | |
nn仓README.md里的index_fill跳转链接修复&添加index_fill算子文档 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !4509 merge dev_zl_2026_0506 into master nn仓README.md里的index_fill跳转链接修复&添加index_fill算子文档 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 nn仓README.md里的index_fill跳转链接修复&添加index_fill算子文档 ## 关联的Issue 关联Issue [#2486](https://gitcode.com/cann/ops-nn/issues/2486) ## 测试 NA ## 文档更新 README.md index/index_fill/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4509 | 3 个月前 | |
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 | 4 个月前 | |
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 | 6 个月前 | |
【描 述】 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 | 6 个月前 | |
增加mssanitizer参数 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4531 merge issue_fix3 into master 增加mssanitizer参数 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 ### 背景 当前nn仓build脚本没有支持--mssanitizer参数 ### 主要修改 * 增加--mssanitizer支持 * 在build脚本的help资料中增加--mssanitizer描述 ## 关联的Issue [#2515](https://gitcode.com/cann/ops-nn/issues/2515) ## 测试 *注* :使用--mssanitizer参数需要安装完整的toolkit的包   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4531 | 3 个月前 | |
group_norm_swish/group_norm_swish_grad算子yaml配置文件修改 Co-authored-by: Qianwen Ye<yeqianwen2@huawei.com> # message auto-generated for no-merge-commit merge: !4575 merge yaml0507 into master group_norm_swish/group_norm_swish_grad算子yaml配置文件修改 Created-by: Annyqw Commit-by: Qianwen Ye Merged-by: cann-robot Description: ## 描述 https://gitcode.com/cann/ops-nn/issues/2547 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4575 | 3 个月前 | |
修改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 | 3 个月前 | |
删除gawk依赖 Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !4152 merge master into master 删除gawk依赖 Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 ops-nn在编译过程中使用gawk工具用于打印时间戳,而gawk并非POSIX中原生支持,还需要用户额外安装; 解耦gawk工具,可以减少用户安装工具的数量,提升用户使用体验 一、代码使用到gawk的地方替换方式: main "$@" | gawk '{print strftime("[%Y-%m-%d %H:%M:%S]"), $0}' 替代为如下命令: main "$@" |while IFS= read -r line; do echo "$(date '+[%Y-%m-%d %H:%M:%S]') $line";done 二、资料中删除对gawk的依赖 三、install_deps.sh中删除安装gawk工具 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2269 https://gitcode.com/cann/ops-nn/issues/2259 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4152 | 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 | 4 个月前 | |
refactor: 引用工程公共仓cann-cmake统一打包构建API,移除本地冗余脚本 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !4109 merge bugfix1 into master refactor: 引用工程公共仓cann-cmake统一打包构建API,移除本地冗余脚本 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 重构 ops-nn 仓库的打包构建流程,将本地维护的打包脚本和安装脚本替换为引用工程公共仓 cann-cmake 中统一的 API,降低构建工程的复杂度和维护成本。 ### 主要改动: 1. 升级 cann-cmake 版本:从 master-001 升级到 master-002,新增 SHA256 校验(fetch_cann_cmake.cmake) 2. 替换打包脚本引用路径:将 cmake/package.cmake 中所有 ${CMAKE_SOURCE_DIR}/scripts/package/ 和 ${CMAKE_SOURCE_DIR}/cmake/ 本地路径替换为 ${CANN_CMAKE_DIR}/ 公共路径 3. 移除本地冗余脚本:删除 cmake/makeself_built_in.cmake、cmake/makeself_custom.cmake、cmake/third_party/makeself-fetch.cmake 以及 scripts/package/common/ 和 scripts/package/latest_manager/ 下的全部 21 个文件 3. 更新打包配置:新增 CPACK_PACKAGE_PARAM_NAME 参数和 share_info_name XML 配置项(ops_math.xml) 4. 更新编译文档:同步更新 cann-cmake 版本号说明(docs/zh/install/compile.md) ## 关联的Issue [#2381](https://gitcode.com/cann/ops-nn/issues/2381) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 docs/zh/install/compile.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建重构 See merge request: cann/ops-nn!4109 | 4 个月前 |
ops-nn
🔥Latest News
- [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}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤,例如WebIDE默认已提供最新商发版CANN对应的源码。
git clone -b ${tag_version} https://gitcode.com/cann/ops-nn.git
说明:对于WebIDE环境,已默认提供最新商发CANN版本配套的源码,如需获取其他版本源码,参考上述命令获取。
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。