本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
update: 更新文件 main_simple.yml Co-authored-by: yajie_caroline<chenyajie6@huawei.com> # message auto-generated for no-merge-commit merge: !6796 merge master into master update: 更新文件 main_simple.yml Created-by: yajie_caroline Commit-by: yajie_caroline Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6796 | 2 个月前 | |
quant mode==2 out y origin精度问题修复 Co-authored-by: shilulu<shilulu8@huawei.com> # message auto-generated for no-merge-commit merge: !7094 merge master into master quant mode==2 out y origin精度问题修复 Created-by: shilulu Commit-by: shilulu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> quant mode==2 out y origin精度问题修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3885 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7094 | 2 个月前 | |
support bmm iterbatch broadcast Co-authored-by: gaozheng<gaozheng16@huawei.com> Co-authored-by: justsozl<zhaolun3@hisilicon.com> Co-authored-by: y00943198<yangtao363@huawei.com> # message auto-generated for no-merge-commit merge: !7073 merge merge_pr into master support bmm iterbatch broadcast Created-by: justsozl Commit-by: y00943198;gaozheng;justsozl Merged-by: cann-robot Description: ## 描述 BatchMatMul V3 算子新增 ITER_BATCH_BROADCAST 模板,解决BMMV3算子在batch broadcast场景无法做IterBatch(多batch聚合搬入/搬出)的问题,优化BMMV3算子在batch broadcast场景的性能 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3849 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 单算子功能/性能测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7073 | 2 个月前 | |
修复JSON解析异常未捕获导致的DoS Co-authored-by: li_fangyuan<lifangyuan16@h-partners.com> # message auto-generated for no-merge-commit merge: !6922 merge master into master 修复JSON解析异常未捕获导致的DoS Created-by: li_fangyuan Commit-by: li_fangyuan Merged-by: cann-robot Description: ## 描述 JSON解析异常未捕获会引发代码安全风险,使用try/catch进行保护 ## 关联的Issue 关联Issue #2586 ## 测试 ## 文档更新 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!6922 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Co-authored-by: xieshengwei1024<xieshengwei3@huawei.com> # message auto-generated for no-merge-commit merge: !7076 merge master into master fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Created-by: xieshengwei1024 Commit-by: xieshengwei1024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.系列SyncAll算子添加scheduleMode 2.embeddingHash算子文档错误修改 3.groupNormSilu修改超大圈复杂度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联issue3858 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行本地编译测试、ut测试及上板aclnn测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了embeddingHash系列算子的readme文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7076 | 2 个月前 | |
feat: add migrated scatter_nd_max and scatter_nd_min aicpu files Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !6800 merge feat/scatter-nd-max-min-migration into master feat: add migrated scatter_nd_max and scatter_nd_min aicpu files Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: ## 描述 本 PR 新增两个 AICPU 算子的迁移实现: - **scatter_nd_max**: 在指定索引位置进行最大值更新操作 - **scatter_nd_min**: 在指定索引位置进行最小值更新操作 **主要变更**: 1. 新增算子实现文件(scatter_nd_max_aicpu.cpp/h, scatter_nd_min_aicpu.cpp/h) 2. 新增算子定义注册文件(scatter_nd_max_aicpu_def.cpp, scatter_nd_min_aicpu_def.cpp) 3. 新增 CMake 构建配置 4. 新增单元测试用例 **数据类型支持**: - DT_DOUBLE, DT_FLOAT, DT_FLOAT16 - DT_INT16, DT_INT32, DT_INT64, DT_INT8 - DT_UINT16, DT_UINT32, DT_UINT64, DT_UINT8 **索引类型**:DT_INT32, DT_INT64 ## 关联的Issue #3876 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置和编译,验证 CMake 配置变更正确 2. **单元测试** - 运行单元测试,验证算子功能正确性 3. **算子接口注册测试** - 验证算子接口注册成功,数据类型定义正确 ## 文档更新 docs/zh/op_list.md index/scatter_nd_max/README.md index/scatter_nd_min/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!6800 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
新增适配MIniCPM模型的fused_add_rms_norm融合算子 Co-authored-by: wuxs68<wuxs68@chinaunicom.cn> # message auto-generated for no-merge-commit merge: !6540 merge master into master 新增适配MIniCPM模型的fused_add_rms_norm融合算子 Created-by: wuxs68 Commit-by: wuxs68 Merged-by: cann-robot Description: ## 描述 新增 FusedAddRmsNorm 融合算子,对外 aclnn 接口为 aclnnFusedAddRmsNorm,头文件为 aclnnop/aclnn_fused_add_rms_norm.h。 该算子面向 MiniCPM 模型中的 residual add + RMSNorm 场景,将 ScaledAdd 与 RmsNorm 融合为单个算子,计算逻辑为: x = x1 * scale + x2 rstd = rsqrt(mean(x * x) + epsilon) y = x * rstd * gamma 相比官方 aclnnAddRmsNorm,本算子的主要差异是: 1. x 作为必选输出,用于返回 ScaledAdd 结果; 2. Add 阶段支持 scale 参数,即执行 ScaledAdd,而不是普通 Add。 实现内容包括: - 新增 norm/fused_add_rms_norm 算子目录; - 完成 op_proto、op_host、op_kernel、aclnn API、示例、UT 和文档; - 支持 float32、float16、bfloat16 输入; - 支持 Ascend 910B 编译打包与单元测试。 ## 关联的Issue 关联 Issue [#3397](https://gitcode.com/cann/ops-nn/issues/3397) ## 测试 <span style="font-size:20px;">**构建验证**</span> 构建指令: bash build.sh --pkg --soc=ascend910b --ops=fused_add_rms_norm 构建结果: [SUCCESS] Build package success! <span style="font-size:20px;">**UT 单元测试**</span> 测试指令: bash build.sh -u --ops=fused_add_rms_norm --soc=ascend910b 测试结果: op_host UT: 8 tests passed op_kernel UT: 8 tests passed op_api UT: 接口生成与编译通过 <span style="font-size:20px;">**单算子正确性验证**</span> 完成 fp32/fp16/bf16 数据类型验证,融合算子结果与参考实现对齐。 测试内容包括: x = x1 * scale + x2 rstd = rsqrt(mean(x * x) + epsilon) y = x * rstd * gamma 结果:单算子输出 y/rstd/x 与参考实现误差满足预期。 <span style="font-size:20px;">**MiniCPM 模型替换验证**</span> 在 MiniCPM 模型中替换 residual add + RMSNorm 位置进行验证。 验证结果: FusedAddRmsNorm 调用次数:40 top5_overlap:5/5 模型输出保持一致 <span style="font-size:20px;">**性能测试**</span> 单算子性能测试,CANN 单算子执行收益 测试配置:C++ ACLNN 直接调用,warmup=20,repeat=200,统计 NPU event 的 device_avg_ms,shape 为 MiniCPM hidden=2304。 | 数据类型 | 输入 Shape | Add + RmsNorm 耗时 | FusedAddRmsNorm 耗时 | 加速比 | |---|---|---:|---:|---:| | FP16 | 1 x 1 x 2304 | 0.031522 ms | 0.022131 ms | 1.42x | | FP16 | 1 x 8 x 2304 | 0.030227 ms | 0.022941 ms | 1.32x | | FP16 | 1 x 128 x 2304 | 0.032682 ms | 0.024936 ms | 1.31x | | FP16 | 1 x 512 x 2304 | 0.035144 ms | 0.029465 ms | 1.19x | | BF16 | 1 x 1 x 2304 | 0.029037 ms | 0.020586 ms | 1.41x | | BF16 | 1 x 8 x 2304 | 0.029598 ms | 0.022068 ms | 1.34x | | BF16 | 1 x 128 x 2304 | 0.030867 ms | 0.022121 ms | 1.40x | | BF16 | 1 x 512 x 2304 | 0.034977 ms | 0.031735 ms | 1.10x | 说明:相对于“单独 Add + 单独 RmsNorm”两算子串联,我们的 FusedAddRmsNorm 在这些 MiniCPM 典型 shape 下都有加速,主要收益来自减少一次 kernel 调度/launch 和中间结果读写。小 token/短序列场景收益更明显,约 1.3x~1.4x;长序列 (1,512,2304) 下计算/访存占比提高,融合收益下降到 1.10x~1.19x。这个测试是保守对比,因为单独 Add 没有 scale。如果严格模拟 MiniCPM 的 x = x1 * scale + x2,未融合链路应是 Mul/Muls + Add + RmsNorm,会比这里的 Add + RmsNorm 多一个算子,理论上更能体现融合算子的价值 MiniCPM 模型替换性能测试: | 指标 | Baseline | Fused | |--|--|--| | 平均耗时 | 84.9105 ms | 78.3203 ms | | 加速比 | - | 1.0841x | 说明:模型级加速受 MatMul、Attention、MLP、RoPE 等其他算子影响,单算子融合收益在完整模型中会被整体推理链路稀释。 ## 文档更新 新增 norm/fused_add_rms_norm/README.md 和 norm/fused_add_rms_norm/docs/aclnnFusedAddRmsNorm.md,分别用于说明算子功能与 ACLNN 两段式接口调用方式。 相比原 ops-nn 仓库,本次新增了完整的 norm/fused_add_rms_norm/ 算子实现目录,包含: - op_graph:算子原型注册; - op_host:Host 侧参数校验、shape/dtype 推导和 tiling; - op_kernel:AscendC Kernel 实现; - examples:ACLNN 调用样例; - tests/ut:Host 与 Kernel 单元测试; - docs 和 README.md:接口文档与使用说明。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6540 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Co-authored-by: xieshengwei1024<xieshengwei3@huawei.com> # message auto-generated for no-merge-commit merge: !7076 merge master into master fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Created-by: xieshengwei1024 Commit-by: xieshengwei1024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.系列SyncAll算子添加scheduleMode 2.embeddingHash算子文档错误修改 3.groupNormSilu修改超大圈复杂度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联issue3858 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行本地编译测试、ut测试及上板aclnn测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了embeddingHash系列算子的readme文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7076 | 2 个月前 | |
feat(ut): enhance LinearIndexV2 op_host UT coverage Co-authored-by: wkkk0528<wangkai578@huawei.com> # message auto-generated for no-merge-commit merge: !7096 merge ut/linear-index-v2-coverage into master feat(ut): enhance LinearIndexV2 op_host UT coverage Created-by: wkkk0528 Commit-by: wkkk0528 Merged-by: cann-robot Description: ## 描述 本次 PR 为 LinearIndexV2 算子补充 op_host 层 UT 用例,提升目标文件的覆盖率。 1. 新增 test_linear_index_v2_infershape.cpp(7 个用例): - InferShape 正常路径 INT32/INT64/多维 shape 推导 - InferShape UnknownRank/UnknownShape 分支 - InferDataType INT32/INT64 2. 补充 test_linear_index_v2_tiling.cpp(3 个用例): - INT64 dtype 成功场景(覆盖 SetTilingKeyMode false 分支) - 无效 dtype FLOAT16 失败场景(覆盖 dtype 校验分支) - 零 indices 实例失败场景(覆盖 tensorId==0 分支) ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3886 ## 测试 UT编译测试通过 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:UT覆盖率提升 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!7096 | 2 个月前 | |
fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Co-authored-by: xieshengwei1024<xieshengwei3@huawei.com> # message auto-generated for no-merge-commit merge: !7076 merge master into master fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Created-by: xieshengwei1024 Commit-by: xieshengwei1024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.系列SyncAll算子添加scheduleMode 2.embeddingHash算子文档错误修改 3.groupNormSilu修改超大圈复杂度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联issue3858 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行本地编译测试、ut测试及上板aclnn测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了embeddingHash系列算子的readme文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7076 | 2 个月前 | |
MatMulToMatmulV3FusionPass图融合 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !7097 merge matmultomatmulv3 into master MatMulToMatmulV3FusionPass图融合 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 图融合开源,将MatMulToMatmulV3FusionPass图融合迁移到ops-nn仓,保持原图融合逻辑,优先级不变,使用es框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3804 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> [2026/07/03 03:14:46] [INFO]-run_single.py:1946 - BatchMatMulV2,BatchMatMulV2_BatchMatMulV2_fp32_fp32_bf16_ND_ND_ND_stream_k_0623_fuzz_noalign_0046,1783048486,100.0,Pass,Pass,NA,NA,None,0.0,"no_bound","","0.0","[[11, 8, 3], [11, 3, 8176], [1, 8176], []]","['bf16', 'bf16', 'fp32', 'int8']","['ND', 'ND', 'ND', 'ND']","[[3.35, 3.75], [3.35, 3.75], [3.35, 3.75], [3.35, 3.75]]","{'adj_x1': False, 'adj_x2': False, 'allow_hf32': 0, 'dynamic_shape': [[-1, -1, -1], [-1, -1, -1], [-1]], 'fusion_name': 'BatchMatMulToBatchMatmulV3FusionPass'}","[[11, 8, 8176]]","['bf16']","None","[]","N/A","None",None,"None","None",None,"",,"","8.437",8.437,8.437,0.0,,,"",None,BatchMatMulV3,AI_CORE ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7097 | 2 个月前 | |
fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Co-authored-by: xieshengwei1024<xieshengwei3@huawei.com> # message auto-generated for no-merge-commit merge: !7076 merge master into master fix schedule mode & embeddingHash Doc & groupNormSilu codecheck Created-by: xieshengwei1024 Commit-by: xieshengwei1024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.系列SyncAll算子添加scheduleMode 2.embeddingHash算子文档错误修改 3.groupNormSilu修改超大圈复杂度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联issue3858 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行本地编译测试、ut测试及上板aclnn测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了embeddingHash系列算子的readme文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7076 | 2 个月前 | |
修复 optim 类算子 README 文档格式及内容 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !7068 merge master into master 修复 optim 类算子 README 文档格式及内容 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7068 | 2 个月前 | |
修复avg_pool在divisorOverride为负数时,计算逻辑错误问题 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !6921 merge dev_zl_dev_2026_0624 into master 修复avg_pool在divisorOverride为负数时,计算逻辑错误问题 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 修复avg_pool在divisorOverride为负数时,计算逻辑错误问题 ## 关联的Issue 关联Issue [#3816](https://gitcode.com/cann/ops-nn/issues/3816) ## 测试 问题用例回归、白盒测试、david冒烟测试、obp冒烟测试均已通过 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6921 | 2 个月前 | |
【bug fix】GroupedQuantMax & QuantMax support batchmode Co-authored-by: yin-peng-hw<yinpeng37@huawei.com> # message auto-generated for no-merge-commit merge: !7115 merge batchMode into master 【bug fix】GroupedQuantMax & QuantMax support batchmode Created-by: yin-peng Commit-by: yin-peng-hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> nn仓batchmode整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#3892](https://gitcode.com/cann/ops-nn/issues/3892) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7115 | 2 个月前 | |
README文档+aclnn文档问题修改 Co-authored-by: weike<weike13@huawei.com> # message auto-generated for no-merge-commit merge: !6982 merge master into master README文档+aclnn文档问题修改 Created-by: m0_55003149 Commit-by: weike Merged-by: cann-robot Description: ## 描述 README文档+aclnn文档问题修改 ## 关联的Issue #3800 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 rnn/thnn_fused_lstm_cell_grad/README.md rnn/thnn_fused_lstm_cell/README.md rnn/single_layer_lstm_grad/README.md rnn/gru/README.md pooling/max_pool_v2/README.md pooling/max_pool_grad_with_argmax/README.md pooling/avg_pool_v2_grad/README.md pooling/avg_pool/README.md pooling/adaptive_avg_pool2d_grad/README.md index/unsorted_segment_max/README.md index/top_k_top_p_sample_v2/README.md index/top_k_top_p_sample/README.md index/index_check/README.md index/index/README.md index/bucketize_v2/README.md rnn/single_layer_lstm_grad/docs/aclnnLstmBackward.md rnn/gru/docs/aclnnGRU.md index/top_k_top_p_sample_v2/docs/aclnnTopKTopPSampleV2.md index/top_k_top_p_sample/docs/aclnnTopKTopPSample.md index/scatter_elements_v2/docs/aclnnScatterValue&aclnnInplaceScatterValue.md index/scatter_elements_v2/docs/aclnnScatterReduce&aclnnInplaceScatterReduce.md index/scatter_elements_v2/docs/aclnnScatter&aclnnInplaceScatter.md index/scatter_add/docs/aclnnScatterAdd.md index/index/docs/aclnnIndex.md index/bucketize_v2/docs/aclnnBucketize.md experimental/index/index_fill_d/README.md experimental/control/sleep/README.md experimental/control/sleep/docs/aclnnSleep.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6982 | 2 个月前 | |
ops-nn支持torch_extension Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5910 merge torch into master torch api support Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 nn仓支持torch api ## 关联的Issue [#3384](https://gitcode.com/cann/ops-nn/issues/3384) ## 测试 本地运行torch matmul 用例pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5910 | 2 个月前 | |
feat: add migrated scatter_nd_max and scatter_nd_min aicpu files Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !6800 merge feat/scatter-nd-max-min-migration into master feat: add migrated scatter_nd_max and scatter_nd_min aicpu files Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: ## 描述 本 PR 新增两个 AICPU 算子的迁移实现: - **scatter_nd_max**: 在指定索引位置进行最大值更新操作 - **scatter_nd_min**: 在指定索引位置进行最小值更新操作 **主要变更**: 1. 新增算子实现文件(scatter_nd_max_aicpu.cpp/h, scatter_nd_min_aicpu.cpp/h) 2. 新增算子定义注册文件(scatter_nd_max_aicpu_def.cpp, scatter_nd_min_aicpu_def.cpp) 3. 新增 CMake 构建配置 4. 新增单元测试用例 **数据类型支持**: - DT_DOUBLE, DT_FLOAT, DT_FLOAT16 - DT_INT16, DT_INT32, DT_INT64, DT_INT8 - DT_UINT16, DT_UINT32, DT_UINT64, DT_UINT8 **索引类型**:DT_INT32, DT_INT64 ## 关联的Issue #3876 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置和编译,验证 CMake 配置变更正确 2. **单元测试** - 运行单元测试,验证算子功能正确性 3. **算子接口注册测试** - 验证算子接口注册成功,数据类型定义正确 ## 文档更新 docs/zh/op_list.md index/scatter_nd_max/README.md index/scatter_nd_min/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!6800 | 2 个月前 | |
ops-nn支持torch_extension Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5910 merge torch into master torch api support Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 nn仓支持torch api ## 关联的Issue [#3384](https://gitcode.com/cann/ops-nn/issues/3384) ## 测试 本地运行torch matmul 用例pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5910 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
ccache option Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !6146 merge master into master ccache option Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 构建增加ccache 参数控制,支持编译时禁用ccache, 构建时灵活选择缓存方式 ccache=VALUE "Enable or disable ccache compilation acceleration, VALUE options: on/off/true/false/disable, Default: on" Example: --ccache=off to disable ccache ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3363 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 测试点清单 测试 1: 默认行为(不传参数) bash build.sh --ophost 预期: - CMake 日志显示 Enable ccache ON 或 TRUE - 如果系统有 ccache,编译使用 ccache 加速 测试 2: 禁用 ccache - 使用 off bash build.sh --ophost --ccache=off 预期: - CMake 日志显示 Enable ccache FALSE - CMakeLists.txt 中 find_program(CCACHE_PROGRAM ccache) 不执行 - 编译不使用 ccache 测试 3: 禁用 ccache - 使用 false bash build.sh --ophost --ccache=false 预期: 同测试 2 测试 4: 禁用 ccache - 使用 disable bash build.sh --ophost --ccache=disable 预期: 同测试 2 测试 5: 验证 CMakeCache.txt bash build.sh --ophost --ccache=off grep ENABLE_CCACHE build/CMakeCache.txt 预期输出: ENABLE_CCACHE:BOOL=FALSE 测试 6: 验证 cmake_init() 参数传递 bash build.sh --pkg --soc=ascend910b --ccache=off 验证点: 查看 cmake_init() 执行时的日志输出,确认 -DENABLE_CCACHE=FALSE 参数已传递 测试 7: 其他编译模式 ### 测试各种编译模式 bash build.sh --pkg --soc=ascend910b --ccache=off bash build.sh --opkernel --soc=ascend910b --ccache=off bash build.sh --opapi --ccache=off bash build.sh -u --ccache=off 预期: 所有模式都正确传递 ENABLE_CCACHE 参数 测试 8: 参数无效值处理 bash build.sh --ophost --ccache=invalid_value 预期: - ENABLE_CCACHE 保持默认值 TRUE - CMake 日志显示 Enable ccache ON ccache -s 统计ccache命中情况 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6146 | 2 个月前 | |
社区贡献 Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !6366 merge master into master 社区贡献 Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 更新完善社区贡献的流程,增加新增需求到sig例会评审的过程。 补充各类场景的贡献说明。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 更新完善社区贡献的流程,增加新增需求到sig例会评审的过程。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6366 | 2 个月前 | |
init | 11 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
readme添加committer链接 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !6810 merge kernel into master readme添加committer链接 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 readme中添加committer链接,供开发者查看 ## 关联的Issue [#3726](https://gitcode.com/cann/ops-nn/issues/3726) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6810 | 2 个月前 | |
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 | 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 个月前 | |
ops-nn支持torch_extension Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5910 merge torch into master torch api support Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 nn仓支持torch api ## 关联的Issue [#3384](https://gitcode.com/cann/ops-nn/issues/3384) ## 测试 本地运行torch matmul 用例pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5910 | 2 个月前 | |
修改conv反向和foreach算子classify_rule目录不生效的问题 Co-authored-by: Hongyi<liuhongyi1@huawei.com> # message auto-generated for no-merge-commit merge: !7090 merge classify_rule_master into master 修改conv反向和foreach算子classify_rule目录不生效的问题 Created-by: hongyiliu111 Commit-by: Hongyi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改conv反向和foreach算子classify_rule目录不生效的问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7090 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Co-authored-by: root<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !5110 merge master into master fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Created-by: yangyang016 Commit-by: root Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复社区体验测试中反馈的三类问题:文档缺少全量编译指引、Debian 系发行版依赖安装失败、以及 UT 公共头文件中 ACLNN_SUCCESS 未定义导致 nn_op_host_ut 编译失败。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> - Fixes #2790 — 文档缺少全量编译指导与耗时说明 - Fixes #2793 — install_deps.sh 在 Debian 13 等系统硬编码 gcc-9 导致安装失败 - Fixes #2794 — ut_string_utils.h 使用未定义的 ACLNN_SUCCESS 导致 UT 编译失败 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - [x] bash -n install_deps.sh 语法检查通过 - [x] 在无 ACLNN_SUCCESS 宏的 mock 头文件下对 ut_string_utils.h 做语法检查通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - **docs/QUICKSTART.md**:明确快速入门默认采用**单算子编译**(--ops),并引导需要整库构建时查阅 docs/zh/install/compile.md。 - **docs/zh/install/compile.md**:在「ops-nn包」章节增加全量编译说明:耗时与机器配置、-j 并行度及联网依赖相关;建议日常开发优先单算子编译。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5110 | 3 个月前 | |
[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 个月前 | |
Remove the dependency asc-tool Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5220 merge eng into master Remove the dependency asc-tool Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 Remove the dependency asc-tool ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 工程编译验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5220 | 3 个月前 |
ops-nn
🔥Latest News
- [2026/05] 优化kernel编译配置项,减少simplified_key和ascendc_config配置文件(!3330)。
- [2026/05] 引入ops-tensor,基于分层结构优化Cube类算子,减少偏移量计算和简化指令参数(!5036)。
- [2026/05] 发布生态算子的精度验收标准(!4572)。
- [2026/03] 开源算子支持下一代芯片:Ascend950PR(!450)。
- [2026/03] 新增<<<>>>的算子开发样例(!620)。
- [2026/03] 低bit类算子和融合算子支持更多数据类型:fp8/mxfp8/hifp8/mxfp4等,并支持pertensor/perchannel/pertoken/pergroup/perblock等不同量化和组合方式:全量化融合算子:quant_batch_matmul_v4,伪量化融合算子:weight_quant_batch_matmul_v2。
- [2026/03] 支持SIMD/SIMT新同构编程算子实现:[MapIndex](#660),[ScatterSub](#710)。
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT/KirinX90,可以通过CANN Simulator仿真工具开发调试;优化指南类文档,聚焦算子开发指南,明确最小交付件和关键示例代码,针对Ascend/samples仓算子提供迁移本项目的指导;新支持稀疏4:2量化matmul算子,针对稀疏矩阵开启硬件加速能力。
- [2025/11] 新支持算子index_fill、masked_scatter、scatter、tf_scatter_add、fused_cross_entropy_loss_with_max_sum。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-nn项目首次上线,开源算子支持Atlas A2/A3系列产品。
🚀概述
ops-nn是CANN(Compute Architecture for Neural Networks)算子库中提供神经网络计算能力的高阶算子库,包括matmul类、activation类等算子,算子库架构图如下:

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