本项目是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 个月前 | |
LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Co-authored-by: Nicotine-True-Mambo<zhanziyu1@huawei.com> # message auto-generated for no-merge-commit merge: !1241 merge master into master LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Created-by: Nicotine_True_Mambo Commit-by: Nicotine-True-Mambo Merged-by: cann-robot Description: ## 描述 实现LogitGrad、SquaredReluActivation、GeluMul三个算子在950继承特性不断代。保障pta原生接口、VLLM相关优化等重要特性不断代。 ## 关联的Issue A2A3算子950继承特性不断代 #887 ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:目前LogitGrad、SquaredReluActivation、GeluMul三个算子并未适配到950,导致无法运行。本次pr解决了该问题。 See merge request: cann/ops-nn!1241 | 7 个月前 | |
kernel ut 中的AddOpTestCasev2方法删除 Co-authored-by: luwang06<luwang4@huawei.com> # message auto-generated for no-merge-commit merge: !1516 merge rnn_fix_ut into master kernel ut 中的AddOpTestCasev2方法删除 Created-by: A431500288 Commit-by: luwang06 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该PR将DynamicRNN和DynamicRNNv2算子的kernel ut 采用的方法从 AddOpTestCasev2 切换到 AddOpTestCase ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#810](https://gitcode.com/cann/ops-nn/issues/810) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1516 | 7 个月前 | |
新增算子:MaxPool3DWithArgmaxV2 Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !1525 merge migrate into master 新增算子:MaxPool3DWithArgmaxV2 Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 新增算子MaxPool3DWithArgmaxV2 包含算子原型、文档、tiling kernel实现代码、UT等。 支持范围:单算子、aclnn。 ## 关联的Issue 关联issus [#839](https://gitcode.com/cann/ops-nn/issues/839) ## 测试 本地验证精度功能已通过,冒烟已通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1525 | 7 个月前 | |
补充完善identity算子README.md,增加支持产品支持情况、功能说明、参数说明等 Co-authored-by: xiangyang0909<huxiangyang1@huawei.com> # message auto-generated for no-merge-commit merge: !896 merge readme into master 补充完善identity算子README.md,增加支持产品支持情况、功能说明、参数说明等 Created-by: xiangyang0909 Commit-by: xiangyang0909 Merged-by: cann-robot Description: ## 描述 本次PR旨在解决Identity算子原README文档内容过于简略的问题。原文档仅有一行说明,缺乏对算子产品支持情况、功能、参数、约束及调用方式等关键信息的描述,无法为用户提供有效的使用指导。 ## 关联的Issue 不涉及 ## 测试 已检查相关描述,链接 ## 文档更新 更新identity算子README.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!896 | 7 个月前 | |
修改aclnnConvTbc.md文档中关于HFLOAT32的拼写错误 Co-authored-by: candy_cloud_fly<tangyunfei4@h-partners.com> # message auto-generated for no-merge-commit merge: !1606 merge fix_TBC_doc into master 修改aclnnConvTbc.md文档中关于HFLOAT32的拼写错误 Created-by: candy_cloud_fly Commit-by: candy_cloud_fly Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改aclnnConvTbc.md文档中关于HFLOAT32的拼写错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了**conv/convolution_forward/docs/aclnnConvTbc.md** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1606 | 7 个月前 | |
新增aclnnQuantConvolutionWeightNz接口支持weightNz Co-authored-by: wanyukang<wanyukang@h-partners.com> # message auto-generated for no-merge-commit merge: !1250 merge weightnz into master 新增aclnnQuantConvolutionWeightNz接口支持weightNz Created-by: wanyukang Commit-by: wanyukang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增aclnnQuantConvolutionWeightNz接口 本接口中删除转为FORMAT_FRACTAL_Z_3D的transdata。 修改weight相关校验 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1250 | 7 个月前 | |
Refactor Conv3DV2 Tiling with Conv3dTilingEngine Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !1203 merge refactor-conv3dv2-tiling-with-engine into master Refactor Conv3DV2 Tiling with Conv3dTilingEngine Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Refactor Conv3DV2 operator tiling to use Conv3dTilingEngine for multi-core tiling logic ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Related to issue [#612](https://gitcode.com/cann/ops-nn/issues/612) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> RDV test 800+ cases passed ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1203 | 7 个月前 | |
规范变量名 | 6 个月前 | |
【新增需求】use npuarch to replace socversion Co-authored-by: 黄强<huangqiang3@huawei.com> # message auto-generated for no-merge-commit merge: !1480 merge master into master 【新增需求】use npuarch to replace socversion Created-by: huang-qiang Commit-by: 黄强 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 优化代码对芯片版本的判断逻辑,使用arch替换芯片名字,提升维护性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/818 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1480 | 7 个月前 | |
blockDim重命名为numBlocks Co-authored-by: chensi888<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !1350 merge rename_besides_norm into master blockDim重命名为numBlocks Created-by: chensi79 Commit-by: chensi888 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> vector算子blockDim变量重命名为numBlocks ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/861 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1350 | 7 个月前 | |
ScatterNd算子支持空tensor输入 Co-authored-by: zhang-wenbo-beat<zhangwenbo67@huawei.com> # message auto-generated for no-merge-commit merge: !1577 merge scatterNd into master ScatterNd算子支持空tensor输入 Created-by: zhang-wenbo-beat Commit-by: zhang-wenbo-beat Merged-by: cann-robot Description: ## 描述 ScatterNd算子新增空tensor模板,在输入shape为满足约束的空tensor时,根据shape返回一块全0的tensor。 eg: update (0, 32) indices (0, 1) output (64, 32) 注意:如果update和indices为空tensor但是shape不满足算子的约束,则不满足该模板要求,会正常拦截报错提示用户输入shape不满足约束。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/844 ## 测试 已经过单算子和网络用例验证无误。 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1577 | 7 个月前 | |
LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Co-authored-by: Nicotine-True-Mambo<zhanziyu1@huawei.com> # message auto-generated for no-merge-commit merge: !1241 merge master into master LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Created-by: Nicotine_True_Mambo Commit-by: Nicotine-True-Mambo Merged-by: cann-robot Description: ## 描述 实现LogitGrad、SquaredReluActivation、GeluMul三个算子在950继承特性不断代。保障pta原生接口、VLLM相关优化等重要特性不断代。 ## 关联的Issue A2A3算子950继承特性不断代 #887 ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:目前LogitGrad、SquaredReluActivation、GeluMul三个算子并未适配到950,导致无法运行。本次pr解决了该问题。 See merge request: cann/ops-nn!1241 | 7 个月前 | |
添加aclnnbaddbmm文件 Co-authored-by: huangkejie1647<huangkejie3@huawei.com> # message auto-generated for no-merge-commit merge: !1489 merge add_aclnnbaddbmm into master 添加aclnnbaddbmm文件 Created-by: huangkejie1647 Commit-by: huangkejie1647 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加由于镜像包流水失败,添加临时下的aclnnbaddbmm样例文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#800](https://gitcode.com/cann/ops-nn/issues/800) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [✓] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1489 | 7 个月前 | |
误开放的aclnn接口整改 Co-authored-by: liujie12345678<liujie81@huawei.com> # message auto-generated for no-merge-commit merge: !1673 merge master into master 误开放的aclnn接口整改 Created-by: liujie12345678 Commit-by: liujie12345678 Merged-by: cann-robot Description: ## 描述 dua_quantize_add_layer_norm 、quantize_add_layer_norm和inplace_add_layer_norm三个算子是没有aclnn接口的,所以是没有对应的docs目录的,但是安装出来的环境中却有对应的aclnn的头文件,这不合理,不应该包含这几个aclnn的头文件。 (base) [root@syn daily]# find . -name aclnn_dua_quantize_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/aclnn_dua_quantize_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/level2/aclnn_dua_quantize_add_layer_norm.h (base) [root@syn daily]# (base) [root@syn daily]# find . -name aclnn_quantize_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/level2/aclnn_quantize_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/aclnn_quantize_add_layer_norm.h (base) [root@syn daily]# (base) [root@syn daily]# find . -name aclnn_inplace_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/level2/aclnn_inplace_add_layer_norm.h ./cann-9.0.0/aarch64-linux/include/aclnnop/aclnn_inplace_add_layer_norm.h ## 关联的Issue Issue [#904](https://gitcode.com/cann/ops-nn/issues/904) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1673 | 7 个月前 | |
【新增需求】use npuarch to replace socversion Co-authored-by: 黄强<huangqiang3@huawei.com> # message auto-generated for no-merge-commit merge: !1480 merge master into master 【新增需求】use npuarch to replace socversion Created-by: huang-qiang Commit-by: 黄强 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 优化代码对芯片版本的判断逻辑,使用arch替换芯片名字,提升维护性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/818 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1480 | 7 个月前 | |
新增maxpoolv2算子 Co-authored-by: sikaiwei<sikaiwei1@h-partners.com> # message auto-generated for no-merge-commit merge: !1528 merge maxpoolv2 into master 新增maxpoolv2算子 Created-by: sikaiwei Commit-by: sikaiwei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子max_pool_v2 包含算子原型、文档、kernel等 支持范围:单算子、geir ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/807 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 基础功能验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1528 | 7 个月前 | |
增加对属性clampLimit的合法性校验 Co-authored-by: cheng-ziyang2<chengziyang2@huawei.com> # message auto-generated for no-merge-commit merge: !1646 merge check into master 增加对属性clampLimit的合法性校验 Created-by: cheng-ziyang2 Commit-by: cheng-ziyang2 Merged-by: cann-robot Description: ## 描述 问题描述 本次PR旨在增强DequantSwigluQuant算子的鲁棒性。原实现中,当clampLimit属性被设置为非正数、无穷大或非数值(NaN)时,可能导致后续计算出现未定义行为或错误。本次修改通过增加有效性校验来预防此类问题。 修改方案描述 在DequantSwigluQuantV35DskTiling::GetAttr()函数中,读取clampLimit属性后,新增了有效性校验逻辑。该校验使用std::isfinite函数确保该值为有限数值,并检查其是否大于0.0。若校验失败,则记录错误日志并返回失败状态,从而阻止后续基于无效值的计算流程,确保算子执行的正确性。同时在文档中新增约束说明。 ## 关联的Issue 关联Issue [#891](https://gitcode.com/cann/ops-nn/issues/891) ## 测试 构造属性clampLimit为负数的异常场景进行测试,能够正确拦截。 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1646 | 7 个月前 | |
kernel ut 中的AddOpTestCasev2方法删除 Co-authored-by: luwang06<luwang4@huawei.com> # message auto-generated for no-merge-commit merge: !1516 merge rnn_fix_ut into master kernel ut 中的AddOpTestCasev2方法删除 Created-by: A431500288 Commit-by: luwang06 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该PR将DynamicRNN和DynamicRNNv2算子的kernel ut 采用的方法从 AddOpTestCasev2 切换到 AddOpTestCase ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#810](https://gitcode.com/cann/ops-nn/issues/810) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1516 | 7 个月前 | |
LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Co-authored-by: Nicotine-True-Mambo<zhanziyu1@huawei.com> # message auto-generated for no-merge-commit merge: !1241 merge master into master LogitGrad、SquaredReluActivation、GeluMul算子950继承特性不断代 Created-by: Nicotine_True_Mambo Commit-by: Nicotine-True-Mambo Merged-by: cann-robot Description: ## 描述 实现LogitGrad、SquaredReluActivation、GeluMul三个算子在950继承特性不断代。保障pta原生接口、VLLM相关优化等重要特性不断代。 ## 关联的Issue A2A3算子950继承特性不断代 #887 ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:目前LogitGrad、SquaredReluActivation、GeluMul三个算子并未适配到950,导致无法运行。本次pr解决了该问题。 See merge request: cann/ops-nn!1241 | 7 个月前 | |
fix cov permission Co-authored-by: liuyufan0725<liuyufan9@huawei.com> # message auto-generated for no-merge-commit merge: !1428 merge fix_cov into master fix cov permission Created-by: liuyufan0725 Commit-by: liuyufan0725 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复需要单独给覆盖率脚本赋予权限的问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联issue [#402](https://gitcode.com/cann/ops-nn/issues/402) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 执行bash build.sh -u --ops=fatrelu_mul --cov无权限报错 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1428 | 7 个月前 | |
【新增需求】use npuarch to replace socversion Co-authored-by: 黄强<huangqiang3@huawei.com> # message auto-generated for no-merge-commit merge: !1480 merge master into master 【新增需求】use npuarch to replace socversion Created-by: huang-qiang Commit-by: 黄强 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 优化代码对芯片版本的判断逻辑,使用arch替换芯片名字,提升维护性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/818 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1480 | 7 个月前 | |
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 个月前 | |
同步编译工程 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !715 merge master into master 同步编译工程 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 同步编译工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!715 | 7 个月前 | |
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 个月前 | |
回退extern aclnn Inner修改 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !1523 merge master into master 回退extern aclnn Inner修改 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 回退extern aclnn Inner修改 ## 关联的Issue [#721](https://gitcode.com/cann/ops-nn/issues/721) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1523 | 7 个月前 | |
Enhance contribution guidelines for new operator development and issue handling Co-authored-by: jiangqi2025<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !904 merge ops_nn_doc into master Enhance contribution guidelines for new operator development and issue handling Created-by: jiangqi2025 Commit-by: jiangqi2025 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Enhance contribution guidelines for new operator development and issue handling ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 在 CONTRIBUTING.md 中新增或更新了如下内容: 新算子开发的分步流程。 提交模板要求。 Issue 报告规范。 问题分类与处理流程。 代码审查和 CI 检查清单。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!904 | 7 个月前 | |
init | 11 个月前 | |
同步编译工程 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !715 merge master into master 同步编译工程 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 同步编译工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!715 | 7 个月前 | |
solve the problem of garbled characters in the doc Co-authored-by: yangyang016<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !853 merge master into master solve the problem of garbled characters in the doc Created-by: yangyang016 Commit-by: yangyang016 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 解决文档中的$显示乱码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!853 | 7 个月前 | |
ci add compile validation for A5 kernel Co-authored-by: ZitaoWang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !1133 merge ci_a5_kernel_compile into master ci add compile validation for A5 kernel Created-by: wangzitao_leo Commit-by: wangzitao_leo;ZitaoWang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增A5门禁任务: 1. 如果修改涉及算子的arch35目录下的文件,执行编译并安装: bash build.sh --pkg --ops=ops1,ops2... --soc=ascend950 2. 如果修改涉及experimental算子的arch35目录下的文件,执行编译并安装: bash build.sh --pkg --ops=ops1,ops2... --soc=ascend950 --experimental 3. 如果修改是公共文件(common或cmake目录下的文件),执行编译并安装: bash build.sh --pkg --jit --soc=ascend950 4. 如果修改的是算子类别目录下的公共依赖目录中的文件(例如ops-nn/matmul/common中的文件),则递归查找其影响算子范围,触发对应算子kernel编译校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue #598 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 当涉及修改的文件为:  则触发对应算子A5kernel编译和整仓jit编译:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1133 | 7 个月前 | |
Fix Docs Co-authored-by: Mingkai Chan<chenmingkai3@huawei.com> # message auto-generated for no-merge-commit merge: !303 merge master into master Fix Docs Created-by: konomichael Commit-by: Mingkai Chan Merged-by: turing_project1 Description: ## 描述 修改文档中相关错误表述 ## 关联的Issue 关联Issue [#170](https://gitcode.com/cann/ops-nn/issues/170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!303 | 9 个月前 | |
fix third_party download and install path Co-authored-by: liuyufan0725<liuyufan9@huawei.com> # message auto-generated for no-merge-commit merge: !1393 merge fix_3rd into master fix third_party download and install path Created-by: liuyufan0725 Commit-by: liuyufan0725 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、不再使用CANN_3RD_PKG_PATH,统一使用CANN_3RD_LIB_PATH,CANN_3RD_LIB_PATH的默认路径为ops-nn/build/third_party 2、将third_party的下载与安装路径归一,下载路径统一为${CANN_3RD_LIB_PATH}/pkg,安装路径统一为${CANN_3RD_LIB_PATH}/${组件名} 3、新增三方开源软件列表Third_Party_Open_Source_Software_List.yaml 4、增加protobuf的缓存路径 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#752](https://gitcode.com/cann/ops-nn/issues/752) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地自测在线与离线场景下的编包与ut均无问题。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增了Third_Party_Open_Source_Software_List.yaml文件。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1393 | 7 个月前 | |
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 个月前 | |
修复experimental算子冒烟失败的问题 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !1591 merge ut_test into master 修复experimental算子冒烟失败的问题 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 冒烟环境上存在自定义算子包的共享库,导致rpath失效,通过设置环境变量规避此问题 ## 关联的Issue [#761](https://gitcode.com/cann/ops-nn/issues/761) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1591 | 7 个月前 | |
classify_rule add Co-authored-by: huangkejie1647<huangkejie3@huawei.com> # message auto-generated for no-merge-commit merge: !1404 merge classify_rule into master classify_rule add Created-by: huangkejie1647 Commit-by: huangkejie1647 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加 classify_rule 文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue #746 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [✓] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1404 | 7 个月前 | |
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 个月前 | |
版本号version与require更新 Co-authored-by: Hu1L1<chenshujian5@huawei.com> # message auto-generated for no-merge-commit merge: !1079 merge version into master 版本号version与require更新 Created-by: Hu1L1 Commit-by: Hu1L1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 版本号version改为9.0.0,require中>=8.5.0改为>=8.5 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/575 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 无 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:版本号修改 See merge request: cann/ops-nn!1079 | 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:端到端快速上手指南,包括搭建环境、编译部署、算子调用/开发/调试调优、贡献等过程。
📖学习教程
若您已完成快速入门学习,对本项目有了一定认知,并希望深入了解和体验项目,请访问如下文档。
这些文档提供了多样化的场景介绍和更全面的操作指导,方便您应用于各种AI业务场景。
- 环境部署:搭建基础环境的指南,提供了多种场景下第三方依赖和软件包安装方法等。
- 算子调用:编译部署并调用算子的指南,提供了多种编译算子包以及运行算子的方法(包括执行算子样例和UT)等。
- 算子开发:基于本项目工程开发新算子的指南,提供了创建算子工程、实现Tiling和Kernel核心交付件等指导。
- 算子调试调优:提供了常见的算子调试和调优方法,如DumpTensor、msProf、Simulator等。
除了上述指南,还提供了其他文档介绍,例如算子调用方式和流程、算子基本概念等,全量文档介绍请访问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 # 项目需要的第三方依赖包
💬相关信息
🤝联系我们
本项目功能和文档正在持续更新和完善中,建议您关注最新版本。