本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix_pull_request Co-authored-by: huangkejie1647<huangkejie3@huawei.com> # message auto-generated for no-merge-commit merge: !1219 merge fix_pull_request into master fix_pull_request Created-by: huangkejie1647 Commit-by: huangkejie1647 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改pr描述模板,方便后续开发 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ✅] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1219 | 7 个月前 | |
Modify the aclnn issues Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !2583 merge 9.0.0 into 9.0.0 Modify the aclnn issues Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2583 | 6 个月前 | |
9.0.0 for add merger_proto to proto and fix cust es Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !2582 merge 9.0_fix_es_0312 into 9.0.0 9.0.0 for add merger_proto to proto and fix cust es Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加原型符号到libopgraph_nn.so ,修复custom包es符号生成问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1438 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2582 | 6 个月前 | |
feat(GemmV3): 2. implement GemmV3BaseKernel. Co-authored-by: void-ptr<baochaojun@huawei.com> Co-authored-by: rueenov11<zhuruyi@huawei.com> # message auto-generated for no-merge-commit merge: !2525 merge 9.0.0 into 9.0.0 feat(GemmV3): 2. implement GemmV3BaseKernel. Created-by: void_ptr Commit-by: rueenov11;void-ptr;void_ptr Merged-by: cann-robot Description: ## 描述 1、新增GemmV3Base kernel,支持alpha、beta!=1输入,将beta* self + alpha*(a@b)的vector计算过程融到mm kernel中,addmm运算使用FP32进行。 2、aclnnAddmmGetWorkspaceSize、aclnnBaddbmmGetWorkspaceSize接口新增cubeMathType=USE_FP32_ADDMM模式,表示在addmm(矩阵乘法与加法融合)运算过程中对FP16/BF16输入进行FP32升精度计算,从而提升特定场景下的数值精度。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2525 | 6 个月前 | |
noaicpu option is supported Co-authored-by: zihan0007<mazihan1@huawei.com> # message auto-generated for no-merge-commit merge: !1753 merge master into master noaicpu option is supported Created-by: zihan0007 Commit-by: zihan0007 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 问题背景:不需要用到毕昇编译器的场景,因为构建时并没有安装毕昇编译器的任何东西,但aicpu因为涉及device侧运行,需要用到毕昇的交叉工具链,所以会报错工具链找不到。 解决方案:用--noaicpu参数选项,在构建aicpu算子的时候进行kernel隔离。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#1015](https://gitcode.com/cann/ops-nn/issues/1015) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 线上ci编译验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1753 | 6 个月前 | |
conv2dv2 ops hi <= 2 should not use baiscBlock && uint underflow protection Co-authored-by: demon_coffee<lice4@huawei.com> # message auto-generated for no-merge-commit merge: !2670 merge 9.0.0 into 9.0.0 conv2dv2 ops hi <= 2 should not use baiscBlock && uint underflow protection Created-by: demon_coffee Commit-by: demon_coffee Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 问题背景: 1、泛化测试conv2d算子时,发现hi<=2场景走到了基本块决策模式,导致绑核逻辑无法生成,tiling错误; 2、在weight较大的情况下,出现weightSize超出L1Size情况,innerbatch错误开启 3、部分conv卷积算子文件未包含在classify_rule中,导致告警无法扫描对应文件 4、conv2d告警问题修复 问题原因: 该场景在基本块进行maxhi计算时,因性能限制cores无法获取绑核逻辑; innerbatchLimit计算时未进行减翻保护 修改方法: 1、避免hi <= 2场景使用基本块模式,增加hi校验,<=2场景需使用公式化模式进行tiling决策,防止无绑核情况出现 2、进行减翻保护,避免因weightSize超出L1Size导致innerbatch错误开启 3、更正在classify_rule中conv_forword所有文件,保证告警扫描覆盖率。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#1348](https://gitcode.com/cann/ops-nn/issues/1348) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1、测试hi<=2场景 xShape = {64,1024,1,1376} weight = {256,1,255} pad = {0,0,134,0} dia = {1,11} stride = {1,2} formate = "NCHW" Dtype = float16 2、测试weightSize大于L1Size场景 xShape = {256,,18,267,9} weight = {256,105,6} pad = {47,49,2,4} dia = {41,7} stride = {1,1} formate = "NCHW" Dtype = hifloat8 测试结果: 二级冒烟通过 && 本地自验证用例精度正确 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2670 | 6 个月前 | |
在op_api_list中添加aclnnKlDivTargetBackward接口 Co-authored-by: xiu_ling_wang<wangxiuling2@h-partners.com> # message auto-generated for no-merge-commit merge: !2681 merge op_api_list_KlDivTargetBackward-9.0.0 into 9.0.0 在op_api_list中添加aclnnKlDivTargetBackward接口 Created-by: xiu_ling_wang Commit-by: xiu_ling_wang Merged-by: cann-robot Description: ## 描述 在op_api_list中添加aclnnKlDivTargetBackward接口。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1479 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2681 | 6 个月前 | |
adapt 3101 to 3510 Co-authored-by: 张磊<zhanglei121@huawei.com> # message auto-generated for no-merge-commit merge: !1158 merge master into master adapt 3101 to 3510 Created-by: zl_hw Commit-by: 张磊 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1158 | 6 个月前 | |
[aicore]整改 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !2261 merge master into master [aicore]整改 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 编译器内部已经定义了__aicore__,算子侧需要去掉这个标识 ## 关联的Issue [#1276](https://gitcode.com/cann/ops-nn/issues/1276) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2261 | 6 个月前 | |
资料整改第一部分 Co-authored-by: Dukexin004<dukexin@h-partners.com> # message auto-generated for no-merge-commit merge: !2337 merge master into master 资料整改第一部分 Created-by: Dukexin004 Commit-by: Dukexin004 Merged-by: cann-robot Description: ## 描述 算子代码中支持的数据类型和README.md文件中不一致;将算子代码中不支持而README.md文件中支持的数据类型在参数说明中添加具体描述。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1315 ## 测试 ## 文档更新 更新了README.md文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2337 | 6 个月前 | |
refactor common headers for op_host/op_api Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !1807 merge master into master refactor common headers for op_host/op_api Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 迁移common目录下的文件到op_api/op_host中 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1807 | 6 个月前 | |
增加空指针校验。 | 5 个月前 | |
aclnn doc use new model Co-authored-by: chen-xing-yu<chenxingyu18@huawei.com> # message auto-generated for no-merge-commit merge: !2621 merge r_9_aclnn_doc into 9.0.0 aclnn doc use new model Created-by: chenxingyu18 Commit-by: chen-xing-yu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 多个aclnn资料格式存在问题,现修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1443 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2621 | 6 个月前 | |
fix aclnnquantbatchmatmulv4 msd wnz bug fix Co-authored-by: llqx-1<lilongqianxi@h-partners.com> # message auto-generated for no-merge-commit merge: !2698 merge cherry-pick-mr-2697-1773416907224-auto into 9.0.0 fix aclnnquantbatchmatmulv4 msd wnz bug fix Created-by: llqx-1 Commit-by: llqx-1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复A4W4 ND模式下错误把Shape设置NZ的问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。--> CI验证通过,自验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2698 | 6 个月前 | |
cleancode重复修改 Co-authored-by: Chen_HaoWen<chenhaowen12@huawei.com> # message auto-generated for no-merge-commit merge: !2709 merge master_9.0.0 into 9.0.0 cleancode重复修改 Created-by: Chen_HaoWen Commit-by: Chen_HaoWen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重复代码修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2709 | 6 个月前 | |
loss类算子,optim类算子资料中低级错误 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !2629 merge 900docs into 9.0.0 loss类算子,optim类算子资料中低级错误 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复文档中的低级错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#1017](https://gitcode.com/cann/ops-nn/issues/1017) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> loss类算子,optim类算子低级错误 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2629 | 6 个月前 | |
avgpool3d、adaptivemaxpool3d池化算子cleancode清理 Co-authored-by: chenyanbin8<chenyanbin8@huawei.com> # message auto-generated for no-merge-commit merge: !2534 merge fix/pool_cleancode_9.0.0 into 9.0.0 avgpool3d、adaptivemaxpool3d池化算子cleancode清理 Created-by: chenyanbin8 Commit-by: chenyanbin8 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> avgpool3d算子自身kernel重复代码:提取公共参数、函数到common.h文件中,复用代码提高易用性 avgpool3d、adaptivemaxpool3d算子之间kernel重复代码:提取公共函数到pool_3d_memory_optimized_utils.h文件中,复用代码提高易用性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ut、example运行pass,avgpool3d算子泛化200个用例,adaptivemaxpool3d算子泛化200个用例测试PASS ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:cleancode清理 See merge request: cann/ops-nn!2534 | 6 个月前 | |
删除dequant_swiglu_quant代码中多余空行 Co-authored-by: 朱子贤<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !2416 merge cleancode_0307 into master 删除dequant_swiglu_quant代码中多余空行 Created-by: zhuzixian-lr Commit-by: 朱子贤 Merged-by: cann-robot Description: ## 描述 问题/功能描述 本次PR旨在进行代码格式优化,移除了一个多余的空行。该变更不涉及任何功能逻辑的修改、错误修复或新功能引入,纯粹是为了提升代码的可读性和规范性。 修改方案描述 修改方案是在 dequant_swiglu_quant_static.h 文件的 ProcessSingleGroupPerCore 函数中,移除了第364行一个多余的空格字符。此修改属于纯粹的代码风格清理,对内核逻辑、数据流、内存操作及最终计算结果均无任何影响。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2416 | 6 个月前 | |
| 6 个月前 | ||
conv op compile option add close dcci Co-authored-by: weiyan_hw<weiyan28@huawei.com> # message auto-generated for no-merge-commit merge: !2616 merge cherry-pick-mr-2495-1773303830836-auto into 9.0.0 conv op compile option add close dcci Created-by: weiyan_hw Commit-by: weiyan_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 编译选项添加关闭dcci -mllvm -cce-aicore-dcci-before-kernel-end=false, 在cann仓时默认是添加上的,在ops-nn仓编译选项不会带上,会影响整网小case头尾开销,需要手动添加 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#1397](https://gitcode.com/cann/ops-nn/issues/1397) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2616 | 6 个月前 | |
9.0.0 for add merger_proto to proto and fix cust es Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !2582 merge 9.0_fix_es_0312 into 9.0.0 9.0.0 for add merger_proto to proto and fix cust es Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加原型符号到libopgraph_nn.so ,修复custom包es符号生成问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1438 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2582 | 6 个月前 | |
资料整改第一部分 Co-authored-by: Dukexin004<dukexin@h-partners.com> # message auto-generated for no-merge-commit merge: !2337 merge master into master 资料整改第一部分 Created-by: Dukexin004 Commit-by: Dukexin004 Merged-by: cann-robot Description: ## 描述 算子代码中支持的数据类型和README.md文件中不一致;将算子代码中不支持而README.md文件中支持的数据类型在参数说明中添加具体描述。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1315 ## 测试 ## 文档更新 更新了README.md文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2337 | 6 个月前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !293 merge license into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!293 | 9 个月前 | |
local exec CI build Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !2247 merge master into master local exec CI build Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 本地执行CI命令 ## 关联的Issue [#1261](https://gitcode.com/cann/ops-nn/issues/1261) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 本地修改算子文件后构建 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2247 | 6 个月前 | |
release CHANGELOG.md Co-authored-by: ZitaoWang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !921 merge changelog into master release CHANGELOG.md Created-by: wangzitao_leo Commit-by: ZitaoWang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. add CHANGELOG.md to describe changes of new released version of CANN. ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue #512 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> CHANGELOG.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!921 | 7 个月前 | |
kernel compile base tilingKeyV1 Co-authored-by: y00943198<yangtao363@huawei.com> # message auto-generated for no-merge-commit merge: !1930 merge master into master kernel compile base tilingKeyV1 Created-by: AlbertYoung192 Commit-by: y00943198 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增--kernel-template-input参数,支持按模板编译特定算子kernel能力 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1097 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地自验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了build.md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1930 | 6 个月前 | |
adjust quick install md Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !1804 merge master into master adjust quick install md Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 完善环境部署中手动安装CANN和源码下载章节 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已经过评审 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> quick_install.md QUICKSTART.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1804 | 7 个月前 | |
init | 11 个月前 | |
修改OAT.xml 优化license匹配规则 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !1942 merge master into master 修改OAT.xml 优化license匹配规则 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 修改OAT.xml 优化license匹配规则 ## 关联的Issue [#691](https://gitcode.com/cann/ops-nn/issues/691) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:优化工程 See merge request: cann/ops-nn!1942 | 6 个月前 | |
update WebIDE description Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2212 merge master into master update WebIDE description Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新算子一站式开发平台相关介绍文档 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [Issue 1092](https://gitcode.com/cann/ops-nn/issues/1092) [Issue 1085](https://gitcode.com/cann/ops-nn/issues/1085) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新快速上手、环境部署等指南文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2212 | 6 个月前 | |
update the description of jit command Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2265 merge master into master update the description of jit command Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 优化整包编译jit参数说明,同时刷新静态库依赖包下载链接 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [1284](https://gitcode.com/cann/ops-nn/issues/1284) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新README、算子调用文档、build参数介绍文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2265 | 6 个月前 | |
【描 述】 fix bug for eigen 5.0.0's line endings Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !2026 merge master into master 【描 述】 fix bug for eigen 5.0.0's line endings Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 解决eigen5.0.0版本中debug/msvc/.dat和debug/msvc/.natvis文件的换行符校验问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 [2026-02-25 10:32:35] About to compress 185236 KB of data... [2026-02-25 10:32:35] Adding files to archive named "cann-910b-ops-nn_9.0.0_linux-x86_64.run"... [2026-02-25 10:32:58] [INFO] exe_task: end to build kernel: add_layer_norm_binary_high_performance.json_6 --exe_time=2317 [2026-02-25 10:32:58] /usr/bin/make [2026-02-25 10:33:00] CRC: 2109050736 [2026-02-25 10:33:02] SHA256: 32f4e90af4109947954a4bf33a75f132bfd1f0f81c6172098b69140d4ef9c410 [2026-02-25 10:33:02] Skipping md5sum at user request [2026-02-25 10:33:02] [2026-02-25 10:33:03] Self-extractable archive "cann-910b-ops-nn_9.0.0_linux-x86_64.run" successfully created. [2026-02-25 10:33:03] build pkg success: /home/j00427146/cann-eco/ops-nn/build_out/cann-910b-ops-nn_9.0.0_linux-x86_64.run ## 文档更新 SECURITY.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2026 | 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 个月前 | |
新增编译选项module_extension和noaclnn Co-authored-by: 李飞265<lifei265@h-partners.com> # message auto-generated for no-merge-commit merge: !2276 merge mdc_compile_v2 into master 新增编译选项module_extension和noaclnn Created-by: lifei265 Commit-by: 李飞265 Merged-by: cann-robot Description: ## 描述 新增编译选项module_extension,用于和模块拓展modext仓联合编译 新增编译选项noaclnn,用于控制aclnn是否编译 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2276 | 6 个月前 | |
增加空指针校验。 | 5 个月前 | |
install deps Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !1096 merge deps into master install deps Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 检测构建所需依赖,若缺失依赖则根据构建场景提醒 ## 关联的Issue [#592](https://gitcode.com/cann/ops-nn/issues/592) ## 测试 本地删除依赖并调用build.sh主脚本,成功打印提示  ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1096 | 7 个月前 | |
Support the fusionpass es project Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !907 merge pass_cmake_0121 into master Support the fusionpass es project Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增支持FusionPass编译的工程能力,以及UT测试的功能。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/540 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!907 | 7 个月前 |
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分支可能存在版本不匹配的风险。
⚡️快速入门
若您希望从零到一了解并快速体验项目,请访问如下文档。可以先了解项目算子信息,再尝试算子调用、开发、贡献等。
-
算子列表:项目全量算子信息,方便快速查询。
-
QuickStart:基于WebIDE或Docker环境提供极简快速上手指南,包括搭建环境、编译部署、算子调用/开发/调试、贡献等。
说明:无论是WebIDE或Docker环境,默认提供最新商发版本CANN软件包,目前是CANN 8.5.0。若您想手动安装CANN包或体验master分支最新能力等,请参考学习教程中的步骤,完成环境搭建、编译执行、算子开发等操作。
📖学习教程
若您已完成快速入门学习,对本项目有了一定认知,并希望深入了解和体验项目,请访问如下文档。
这些文档提供了多样化场景和更全面的操作指导,方便您应用于各种AI业务场景。
- 环境部署:搭建基础环境的指南,提供了多种场景下第三方依赖和软件包安装方法等。
- 算子调用:算子源码编译和执行指南,提供了不同场景下算子包编译(包括联网/未联网等)和算子运行的方法(包括执行算子样例和UT)等。
- 算子开发:基于本项目工程开发新算子的指南,提供了创建算子工程、实现Tiling和Kernel核心交付件等指导。
- 算子调试调优:提供了常见的算子调试和调优方法,如DumpTensor、msProf、Simulator等。
除了上述指南,还提供了其他文档例如算子调用方式、术语概念、build参数介绍等,全量文档请访问docs。
🔍目录结构
关键目录如下,详细目录介绍参见项目目录。
├── activation # activation类算子
├── cmake # 项目工程编译目录
├── common # 项目公共头文件和公共源码
├── control # control类算子
├── conv # conv类算子
├── docs # 项目文档介绍
├── examples # 端到端算子开发和调用示例
├── experimental # 用户自定义算子存放目录
├── foreach # foreach类算子
├── index # index类算子
├── loss # loss类算子
├── matmul # matmul类算子
│ ├── transpose_batch_mat_mul # transpose_batch_mat_mul算子所有交付件,如Tiling、Kernel等
│ │ ├── docs # 算子说明文档
│ │ ├── examples # 算子使用示例
│ │ ├── op_graph # 算子构图相关目录
│ │ ├── op_host # 算子信息库、Tiling、InferShape相关实现目录
│ │ │ └── op_api # 算子aclnn接口实现目录
│ │ ├── op_kernel # 算子Kernel目录
│ │ ├── CMakeLists.txt # 算子编译配置文件
│ │ └── README.md # 算子介绍文档
│ ├── ...
│ └── CMakeLists.txt # 算子编译配置文件
├── ...
├── rnn # rnn类算子
├── scripts # 脚本目录,包含自定义算子、Kernel构建相关配置文件
├── tests # 测试工程目录
├── vfusion # vfusion类算子
├── CMakeLists.txt
├── README.md
├── build.sh # 项目工程编译脚本
├── install_deps.sh # 安装依赖包脚本
└── requirements.txt # 项目需要的第三方依赖包
💬相关信息
🤝联系我们
本项目功能和文档正在持续更新和完善中,建议您关注最新版本。
-
问题反馈:通过GitCode【Issues】提交问题。
-
社区互动:通过GitCode【讨论】参与交流。
-
技术专栏:通过GitCode【Wiki】获取技术文章,如系列化教程、优秀实践等。
技术专题 样例 算子性能优化 MatMul算子性能优化实践与效果分析 算子性能优化 MatMul算子VCV性能优化实践与效果分析