本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
nn整仓doc Tools工具扫描问题修改0330 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3325 merge master into master nn整仓doc Tools工具扫描问题修改0330 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 整仓文档问题修改,修改不符合markdown规范和链接。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 更新了docs、docs、experimental、experimental/index 、experimental/matmul 、matmul 等文件 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3325 | 5 个月前 | |
Improper use of namespace Co-authored-by: suyueming<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !3213 merge clean_code_namespace into master Improper use of namespace Created-by: su-yueming Commit-by: suyueming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 删除无用的头文件 头文件中禁止向全局命名空间导入符号 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#1323](https://gitcode.com/cann/ops-nn/issues/1323) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码优化 See merge request: cann/ops-nn!3213 | 5 个月前 | |
[Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Co-authored-by: wangcimeng<wangcimeng@huawei.com> # message auto-generated for no-merge-commit merge: !3307 merge fusion_pass into master [Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Created-by: wangcimeng Commit-by: wangcimeng Merged-by: cann-robot Description: ## 描述 基于算子图层面融合把特定图节点转换为**ExtendConv2D及QuantConv3D** 将相关Cube后处理基于Common公共能力**转换为Fixpipe**后,融合**以下结构**为单算子计算 Conv2D 支持融合结构如下,融合后为ExtendConv2D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv2D → FixPipe → Output | | **DUAL_FIXPIPE** | 双 FixPipe 输出 | Conv2D → [FixPipe_0, FixPipe_1] → [Output0, Output1] | | **FIXPIPE_OTHER** | FixPipe + 其他节点 | Conv2D → [FixPipe, Other] → [Output0, Output1] | | **OTHER_FIXPIPE** | 其他节点 + FixPipe | Conv2D → [Other, FixPipe] → [Output0, Output1] | Conv3D 支持融合结构支持如下,融合后为QuantConv3D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv3D → Dequant → Output | ## 关联的Issue [#1816](https://gitcode.com/cann/ops-nn/issues/1816) ## 测试 冒烟验证及相应融合结构已验证,UT已覆盖补充各融合场景用例 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [X] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3307 | 5 个月前 | |
迁移fixpipe 类pass基础接口 Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> # message auto-generated for no-merge-commit merge: !2298 merge br_mingmingj_fixpipe_0304 into master 迁移fixpipe 类pass基础接口 Created-by: jiang-mingming01 Commit-by: jiang-mingming01 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 迁移fixpipe的基础功能接口,供后续GE pass调用,主要涉及三个接口: FixpipeUtils::GetFixpipeNodeList FixpipeUtils::SelectFixpipeNodeList FixpipeUtils::CreateFixpipeNode ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue https://gitcode.com/cann/ops-nn/issues/1794 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 通过cube类融合pass触发功能,做融合改图 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2298 | 5 个月前 | |
nn整仓doc Tools工具扫描问题修改0330 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3325 merge master into master nn整仓doc Tools工具扫描问题修改0330 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 整仓文档问题修改,修改不符合markdown规范和链接。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 更新了docs、docs、experimental、experimental/index 、experimental/matmul 、matmul 等文件 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3325 | 5 个月前 | |
[Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Co-authored-by: wangcimeng<wangcimeng@huawei.com> # message auto-generated for no-merge-commit merge: !3307 merge fusion_pass into master [Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Created-by: wangcimeng Commit-by: wangcimeng Merged-by: cann-robot Description: ## 描述 基于算子图层面融合把特定图节点转换为**ExtendConv2D及QuantConv3D** 将相关Cube后处理基于Common公共能力**转换为Fixpipe**后,融合**以下结构**为单算子计算 Conv2D 支持融合结构如下,融合后为ExtendConv2D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv2D → FixPipe → Output | | **DUAL_FIXPIPE** | 双 FixPipe 输出 | Conv2D → [FixPipe_0, FixPipe_1] → [Output0, Output1] | | **FIXPIPE_OTHER** | FixPipe + 其他节点 | Conv2D → [FixPipe, Other] → [Output0, Output1] | | **OTHER_FIXPIPE** | 其他节点 + FixPipe | Conv2D → [Other, FixPipe] → [Output0, Output1] | Conv3D 支持融合结构支持如下,融合后为QuantConv3D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv3D → Dequant → Output | ## 关联的Issue [#1816](https://gitcode.com/cann/ops-nn/issues/1816) ## 测试 冒烟验证及相应融合结构已验证,UT已覆盖补充各融合场景用例 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [X] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3307 | 5 个月前 | |
quant conv3d算子资料dtype、format描述修改 Co-authored-by: huafeng793<chenhuafeng2@huawei.com> # message auto-generated for no-merge-commit merge: !3394 merge opapi_doc_fix into master quant conv3d算子资料dtype、format描述修改 Created-by: huafeng793 Commit-by: huafeng793 Merged-by: cann-robot Description: ## 描述 quant conv3d算子资料dtype、format描述修改,不支持int8输出、NDHWC格式。 ## 关联的Issue [#1862](https://gitcode.com/cann/ops-nn/issues/1862) ## 测试 不涉及 ## 文档更新 https://gitcode.com/cann/ops-nn/blob/master/conv/quant_conv3d/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3394 | 5 个月前 | |
nn整仓doc Tools工具扫描问题修改0330 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3325 merge master into master nn整仓doc Tools工具扫描问题修改0330 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 整仓文档问题修改,修改不符合markdown规范和链接。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 更新了docs、docs、experimental、experimental/index 、experimental/matmul 、matmul 等文件 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3325 | 5 个月前 | |
[CANNBot] 增加experimental下hard_shrink_grad实现 Co-authored-by: hw-zhangpanpan<zhangpanpan5@huawei.com> # message auto-generated for no-merge-commit merge: !3319 merge master into master [CANNBot] 增加experimental下hard_shrink_grad实现 Created-by: hw-zhangpanpan Commit-by: hw-zhangpanpan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3319 | 5 个月前 | |
modified md files(for readability improvement) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !3264 merge master_md into master modified md files(for readability improvement) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 modified md files(for readability improvement) ## 关联的Issue NA ## 测试 NA ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-nn!3264 | 5 个月前 | |
fix: 注释错误 Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !3216 merge master into master fix: 注释错误 Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 更新了注释中opc,改为asc_opc ## 关联的Issue [#1716](https://gitcode.com/cann/ops-nn/issues/1716) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了注释中opc,改为asc_opc ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3216 | 5 个月前 | |
add op spatialTransformer | 4 个月前 | |
modified md files(for readability improvement) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !3264 merge master_md into master modified md files(for readability improvement) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 modified md files(for readability improvement) ## 关联的Issue NA ## 测试 NA ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-nn!3264 | 5 个月前 | |
将公共变量SYS_WORKSPACE_SIZE 提取到公共文件中 Co-authored-by: wmg<wangmingguang2@h-partners.com> # message auto-generated for no-merge-commit merge: !3231 merge qbmm_clean_code1 into master 将公共变量SYS_WORKSPACE_SIZE 提取到公共文件中 Created-by: wmg1 Commit-by: wmg Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将公共变量SYS_WORKSPACE_SIZE 提取到公共文件中 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->https://gitcode.com/cann/ops-nn/issues/1621 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 跑对应模板打印调用SYS_WORKSPACE_SIZE的值 msd:  perblock:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:clean code See merge request: cann/ops-nn!3231 | 5 个月前 | |
GroupNormGrad修改Tiling逻辑,保证NLoop计算为0可以正确退出 Co-authored-by: 朱子贤<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !3352 merge gng_check_nloop into master GroupNormGrad修改Tiling逻辑,保证NLoop计算为0可以正确退出 Created-by: zhuzixian-lr Commit-by: 朱子贤 Merged-by: cann-robot Description: ## 描述 #### 问题/功能描述 修复GroupNorm梯度算子(Stage2 Mode2)在特定参数配置下的分块(tiling)逻辑缺陷。原代码在FindNearestPower2函数返回0时,未中断循环,导致后续计算使用无效的basicBlockLoop值,可能产生错误的tiling配置,影响算子执行的正确性和稳定性。 #### 修改方案描述 在Stage2Mode2Tiling函数的循环中,当计算出的basicBlockLoop值为0时,立即中断循环,跳过后续无效的tiling配置计算,从而确保算法的鲁棒性。同时,规范了条件判断cTileNum <= 0的格式,提升了代码可读性。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 冒烟测试通过,ST测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3352 | 5 个月前 | |
ops-nn仓添加算子及aclnn标杆函数 Co-authored-by: dengguojie<dengguojie@huawei.com> # message auto-generated for no-merge-commit merge: !2376 merge master into master ops-nn仓添加算子及aclnn标杆函数 Created-by: dengguojie Commit-by: dengguojie Merged-by: cann-robot Description: ## 描述 ops-nn仓添加算子及aclnn标杆函数 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1808 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2376 | 5 个月前 | |
adaptive_avg_pool2d算子ops-nn仓添加proto和infer Co-authored-by: Chapterone<wuxuewen5@huawei.com> # message auto-generated for no-merge-commit merge: !3318 merge master into master adaptive_avg_pool2d算子ops-nn仓添加proto和infer Created-by: Chapterone Commit-by: Chapterone Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在ops-nn仓添加算子的proto和infershape内容,使得该算子仅依赖ops-nn子包也能完成进行算子原型校验等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1840 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已测试无问题 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3318 | 5 个月前 | |
add dynamic_mx_quant aclnn test Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> # message auto-generated for no-merge-commit merge: !3369 merge master into master add dynamic_mx_quant aclnn test Created-by: luo-yong-qing Commit-by: luo-yongqing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加examples文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1864 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 测试文件以本地验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了dynamic_mx_quant README.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3369 | 5 个月前 | |
修复lstmbackward算子kernel报错问题 Co-authored-by: huyihang<huyihang6@h-partners.com> # message auto-generated for no-merge-commit merge: !3346 merge lstm into master 修复lstmbackward算子kernel报错问题 Created-by: huyihang1117 Commit-by: huyihang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复lstmbackward算子kernel报错问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1834 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 报错脚本在改完之后没有报错 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3346 | 5 个月前 | |
支持InplaceIndexFill下一代实现 Co-authored-by: BIGWHITETEETH<jingruiyang@huawei.com> # message auto-generated for no-merge-commit merge: !3347 merge master into master 支持InplaceIndexFill下一代实现 Created-by: BIGWHITETEETH Commit-by: BIGWHITETEETH Merged-by: cann-robot Description: ## 描述 支持InplaceIndexFill下一代实现。 接口功能:沿输入x的给定轴dim,将indices指定位置的值使用value进行原地填充替换。 x 输入 待被在指定位置的值用value原地替换的张量。 数据类型支持:FLOAT16、FLOAT、DOUBLE、INT8、UINT8、INT16、INT32、INT64、BOOL、BFLOAT16 indices 输入 指定x在dim维度将要填充的下标。其中的元素值小于x对应dim的维度大小,支持负数索引。数据类型支持:INT32、INT64 value 输入 指定填充的数据值。数据类型需与x一致。 数据类型支持:与x一致 dim 输入 指定了x将要填充的维度。数据类型支持:INT64 x 输出 原地填充后的输出张量,shape与输入x一致。 数据类型支持:与输入x一致 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1839 ## 测试 自测白盒功能用例通过,门槛用例通过,obp冒烟和算子二级冒烟通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3347 | 5 个月前 | |
BroadcastGradientArgs/LayerNorm支持下一代芯片 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !2099 merge add_ops_0225 into master BroadcastGradientArgs/LayerNorm支持下一代芯片 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> BroadcastGradientArgs、LayerNorm算子支持下一代芯片 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1382 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ut、st、二级冒烟均测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了norm/layer_norm/README.md 更新了index/broadcast_gradient_args/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:BroadcastGradientArgs、LayerNorm算子支持下一代芯片 See merge request: cann/ops-nn!2099 | 5 个月前 | |
fix: 注释错误 Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !3216 merge master into master fix: 注释错误 Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 更新了注释中opc,改为asc_opc ## 关联的Issue [#1716](https://gitcode.com/cann/ops-nn/issues/1716) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了注释中opc,改为asc_opc ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3216 | 5 个月前 | |
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 个月前 | |
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 个月前 | |
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 个月前 | |
移动version.cmake 文件 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !3093 merge new into master 移动version.cmake 文件 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 移动version.cmake 文件 ## 关联的Issue [#1671](https://gitcode.com/cann/ops-nn/issues/1671) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:工程重构 See merge request: cann/ops-nn!3093 | 5 个月前 | |
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 | 6 个月前 | |
init | 11 个月前 | |
规范化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 | 5 个月前 | |
修复公共代码中的无效链接 Co-authored-by: yangyang016<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !3173 merge master into master 修复公共代码中的无效链接 Created-by: yangyang016 Commit-by: yangyang016 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 修复多处文档内部跳转/引用链接失效问题,涵盖根 README.md、安全声明、调试文档、安装文档以及算子 API/列表索引页。 - 统一并更正了部分路径/文件名差异(例如 cann_simulator.md → cann_sim.md、logsigmoid → log_sigmoid、gather_v2 → embedding、adaptive_max_pool3d → adaptive_max_pool2d 等),避免点击后 404。 - 修复 SECURITY.md 中章节锚点跳转不生效的问题(将链接 fragment 调整为与实际标题生成的锚点一致)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#1710](https://gitcode.com/cann/ops-nn/issues/1710) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md SECURITY.md docs/zh/debug/op_debug_prof.md docs/zh/install/build.md docs/zh/op_api_list.md docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3173 | 5 个月前 | |
修复公共代码中的无效链接 Co-authored-by: yangyang016<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !3173 merge master into master 修复公共代码中的无效链接 Created-by: yangyang016 Commit-by: yangyang016 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 修复多处文档内部跳转/引用链接失效问题,涵盖根 README.md、安全声明、调试文档、安装文档以及算子 API/列表索引页。 - 统一并更正了部分路径/文件名差异(例如 cann_simulator.md → cann_sim.md、logsigmoid → log_sigmoid、gather_v2 → embedding、adaptive_max_pool3d → adaptive_max_pool2d 等),避免点击后 404。 - 修复 SECURITY.md 中章节锚点跳转不生效的问题(将链接 fragment 调整为与实际标题生成的锚点一致)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#1710](https://gitcode.com/cann/ops-nn/issues/1710) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md SECURITY.md docs/zh/debug/op_debug_prof.md docs/zh/install/build.md docs/zh/op_api_list.md docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3173 | 5 个月前 | |
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 个月前 | |
fix: kernel ut rm tbe dir Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !3138 merge master into master fix: kernel ut rm tbe dir Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 fix: 删除tbe目录导致编译kernel ut失败 ## 关联的Issue [#1706](https://gitcode.com/cann/ops-nn/issues/1706) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3138 | 5 个月前 | |
[Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Co-authored-by: wangcimeng<wangcimeng@huawei.com> # message auto-generated for no-merge-commit merge: !3307 merge fusion_pass into master [Requirement|需求建议]: ExtendConv2D/QuantConv3D Fixpipe融合开源 Created-by: wangcimeng Commit-by: wangcimeng Merged-by: cann-robot Description: ## 描述 基于算子图层面融合把特定图节点转换为**ExtendConv2D及QuantConv3D** 将相关Cube后处理基于Common公共能力**转换为Fixpipe**后,融合**以下结构**为单算子计算 Conv2D 支持融合结构如下,融合后为ExtendConv2D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv2D → FixPipe → Output | | **DUAL_FIXPIPE** | 双 FixPipe 输出 | Conv2D → [FixPipe_0, FixPipe_1] → [Output0, Output1] | | **FIXPIPE_OTHER** | FixPipe + 其他节点 | Conv2D → [FixPipe, Other] → [Output0, Output1] | | **OTHER_FIXPIPE** | 其他节点 + FixPipe | Conv2D → [Other, FixPipe] → [Output0, Output1] | Conv3D 支持融合结构支持如下,融合后为QuantConv3D图节点 | 场景枚举 | 描述 | 图示 | |---------|------|------| | **SINGLE** | 单 FixPipe 输出 | Conv3D → Dequant → Output | ## 关联的Issue [#1816](https://gitcode.com/cann/ops-nn/issues/1816) ## 测试 冒烟验证及相应融合结构已验证,UT已覆盖补充各融合场景用例 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [X] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3307 | 5 个月前 | |
添加patch工具依赖 Co-authored-by: yangyang016<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !2531 merge offline_build_docs into master 添加patch工具依赖 Created-by: yangyang016 Commit-by: yangyang016 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次PR旨在解决项目在编译或运行过程中因缺少patch工具依赖而导致构建失败的问题。通过补充依赖说明和增强自动化安装脚本,确保用户环境具备所有必要的前置条件,提升项目构建的成功率和易用性。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2531 | 5 个月前 | |
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.cmake 文件 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !3093 merge new into master 移动version.cmake 文件 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 移动version.cmake 文件 ## 关联的Issue [#1671](https://gitcode.com/cann/ops-nn/issues/1671) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:工程重构 See merge request: cann/ops-nn!3093 | 5 个月前 |
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和各类教程的操作前提,请先完成基础环境搭建和源码下载。
- QuickStart:针对源码编译、算子调用/开发/调试等关键能力,提供快速上手的简易指南。
📖学习教程
若您已学习完快速入门章节,对本项目有一定认知,并希望深入了解和体验项目,请访问下述详细教程。
- 算子列表:提供全量算子信息,方便您查看算子分类和功能。
- 算子调用:提供多种源码编译和执行算子样例(包括执行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接口实现目录,如未提供则表示此算子的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性能优化实践与效果分析