本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
pr add ai declare Co-authored-by: liuchuangdev<liuchuang51@huawei.com> # message auto-generated for no-merge-commit merge: !6579 merge add_ai_declare into master pr add ai declare Created-by: liuchuangdev Commit-by: liuchuangdev Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> pr页面增加ai使用声明 Date期:2026-05-08 Time时间: 议题申报链接:sig-ops-nn | Etherpad 会议链接:https://meeting.huaweicloud.com:36443/#/j/985540284 会议回放地址:待上传B站后补充 会议主持:胡碧霞 与会人:胡碧霞、刘波、陈琦、商晓波、周奇龙、郑李磊、范其瑞、唐玮玮、王慈孟、林鹏翔、章武、张喻翔、王子韬、刘伟、杨阳、唐超、刘杰、陈昊文、余鑫 下次主持:胡碧霞 议题1:pr、issue模板增加agent代码生成相关内容 申请人:刘闯[Requirement|需求建议]: pr、issue提交页面增加ai agent生成相关内容 结论:commit描述页面:pr模板增加AI/Agent生成声明描述项,包含AI 辅助编写选项。说明下游使用必要性。 代码检视页面:和ci同学沟通后确定方案 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#2346](https://gitcode.com/cann/ops-nn/issues/2346) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-nn!6579 | 2 个月前 | |
add squared_relu ut Co-authored-by: zhajianqing123<zhajianqing@huawei.com> # message auto-generated for no-merge-commit merge: !6614 merge master into master add squared_relu ut Created-by: zhajianqing123 Commit-by: zhajianqing123 Merged-by: cann-robot Description: ## 描述 补充 squared_relu UT ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 自验证通过 ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!6614 | 2 个月前 | |
BlockScheduler & BlockMmad 重构 Co-authored-by: 林旭<linxu5@huawei.com> # message auto-generated for no-merge-commit merge: !6571 merge fix-sch2 into master BlockScheduler & BlockMmad 重构 Created-by: LINxu233 Commit-by: 林旭 Merged-by: cann-robot Description: ## 描述 NN适配修改: 1、引用kenrel处修改组件组装,包括scheduler模板参数适配、scheduler传params适配、mmad传params适配 kernel (blaze)修改如下: 1、修改scheduler params 定义和使用,同步修改init接口,只传入params和shape 2、修改blockMmad params定义和使用,同步修改init接口,只传入params和shape 3、移除scheduler无用接口和成员变量,整改public\private,部分变量调整为私有变量 4、AscendC::LOA_SIZE类似的ai_core only的函数整改,放到aicore函数内部 5、AuxGetL0C整改为C0_Element函数,AscendC::Te作用域。 6、Mmad的operator超大函数重构为CopyGm2L1,CopyL12L0,Compute三个小接口; 链接地址: https://gitcode.com/cann/ops-tensor/pull/92/commit ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3575 ## 测试 MM ASWT\ SK 模板 BMM ASWT\BRORDCAST 模板 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6571 | 2 个月前 | |
aclnnKthvalue / aclnnMedianDIm 优化 -- 使用 kthvalue Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !5826 merge master into master aclnnKthvalue / aclnnMedianDIm 优化 -- 使用 kthvalue Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 对 aclnnKthvalue / aclnnMedianDIm 优化,在950PR/950DT使用 kthvalue 替代原先的 Sort + GatherV2 + Cast 流程,解决算子拼接带来的内存占用高、性能较差等问题。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3524 ## 测试 1 验证 aclnnKthvalue 80+门槛用例、aclnnMedianDim 80+门槛用例,功能正常,均使用 Kthvalue 算子计算 2 验证 aclnnKthvalue 350+泛化用例,功能正常,性能满足要求 3 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5826 | 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 个月前 | |
op_loge日志整改 | 2 个月前 | |
资料mx量化名称整改为MX Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !6600 merge mx_docs into master 资料mx量化名称整改为MX Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将资料中量化模式mx更改为MX,符合通用规范 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3307 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 无 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context/量化介绍.md matmul/quant_batch_matmul_inplace_add/README.md matmul/quant_batch_matmul_inplace_add/docs/aclnnQuantBatchMatmulInplaceAdd.md matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulWeightNz.md matmul/quant_batch_matmul_v4/README.md matmul/quant_batch_matmul_v4/docs/aclnnQuantMatmulV5.md matmul/transpose_quant_batch_mat_mul/README.md matmul/weight_quant_batch_matmul_v2/docs/aclnnWeightQuantBatchMatmulNz.md matmul/weight_quant_batch_matmul_v2/docs/aclnnWeightQuantBatchMatmulV2.md matmul/weight_quant_batch_matmul_v2/docs/aclnnWeightQuantBatchMatmulV3.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6600 | 2 个月前 | |
bugfix fast_kernel_launch 偶现nlohmann_json找不到的错误 Co-authored-by: qq_45721369<shenyujie15@huawei.com> # message auto-generated for no-merge-commit merge: !6573 merge new_problem into master bugfix fast_kernel_launch 偶现nlohmann_json找不到的错误 Created-by: qq_45721369 Commit-by: qq_45721369 Merged-by: cann-robot Description: ## 描述 CMakeLists.txt - 加入 ${JSON_INCLUDE} 才能让编译器找到头文件 func.cmake - add_dependencies 确保编译等下载完成 nlohmann_json.cmake - find_path 配置时找不到文件会把 JSON_INCLUDE 设为 NOTFOUND,用 set() + if(EXISTS ...) 替代 conv3d_v2_template.h tiling结构体适配 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [#3573](https://gitcode.com/cann/ops-nn/issues/3573) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6573 | 2 个月前 | |
Ascend C实现EluGradV2算子贡献 Co-authored-by: 何洋洋<yangyanghe2023@163.com> # message auto-generated for no-merge-commit merge: !5616 merge master into master Ascend C实现EluGradV2算子贡献 Created-by: hyy_bjtu Commit-by: 何洋洋 Merged-by: cann-robot Description: ## 描述 基于EluGradV2算子历史TBE版本使用Ascend C编程语言进行优化。 ## 关联的Issue 关联Issue [#3068](https://gitcode.com/cann/ops-nn/issues/3068) ## 测试 采用aclnn调用测试,ascendoptest工具测试 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5616 | 2 个月前 | |
op_loge日志整改 | 2 个月前 | |
revise kernel compile options Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5202 merge master into master revise kernel compile options Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 kernel配置项整改:foreach,hash,loss,rnn,vfusion ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 本地编译,对比修改前后.o ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5202 | 3 个月前 | |
fix precision bug:relax host-side cache-op xDim1 guard Co-authored-by: lizichong<756066299@qq.com> # message auto-generated for no-merge-commit merge: !6624 merge master into master fix precision bug:relax host-side cache-op xDim1 guard Created-by: weixin_47641640 Commit-by: lizichong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复部分case的atk精度问题:将cache-op 自己的 UB / xDim1 硬门限放宽,允许tiling 内部自行判断是否走fp32 accumulate -> fp16 cast back 的实现, ## 关联的Issue <!-- https://gitcode.com/cann/ops-nn/issues/2654--> https://gitcode.com/cann/ops-nn/issues/2654 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 线下已验证全部ATK测试用例通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6624 | 2 个月前 | |
修复chamfer_distance_grad的readme显示太窄的问题 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !6615 merge master into master 修复chamfer_distance_grad的readme显示太窄的问题 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 修复chamfer_distance_grad的readme显示太窄的问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3243](https://gitcode.com/cann/ops-nn/issues/3243) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 只更新文档,未对代码做修改 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> loss/chamfer_distance_grad/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6615 | 2 个月前 | |
a2 a3删除冗余的qbmmv3 bmmv3 mmv3的tilingkey和.o Co-authored-by: wmg1<wangmingguang2@h-partners.com> # message auto-generated for no-merge-commit merge: !6389 merge delete_o_second into master a2 a3删除冗余的qbmmv3 bmmv3 mmv3的tilingkey和.o Created-by: wmg1 Commit-by: wmg1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> bmmv3 json中的.o为带bias的.o,目前带bias的bmm都会走tbe的bmmv2,故不可达。 qbmmv3中,目前只发现{256, 29568, 8192}, {512, 29568, 8192}, {768, 29568, 8192}, {1024, 29568, 8192}},非转置情况下走入,bank_splitk_set机制要求左右矩阵非转置,splitkflag机制要求output为fp32,故不可达。 mmv3中65538和65616带bias场景,都会在aclnn处或融合pass处切换到mmv2,故带bias场景不可达。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->https://gitcode.com/cann/ops-nn/issues/3532 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> atk测试,网络测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6389 | 2 个月前 | |
op_loge日志整改 | 2 个月前 | |
修复一些错误引用 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !6533 merge bug_fix into master 修复一些错误引用 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 在文件optim/apply_adam_w_quant/op_host/apply_adam_w_quant_tiling.cpp中 因为QmapM和QmapV的shape和dtype必须一致,所以在引用时QmapV的shape使用QmapM,正常不影响功能,但不方便用户读取代码。修改引用 在文件loss/sparse_softmax_cross_entropy_with_logits/op_host/sparse_softmax_cross_entropy_with_logits_infershape.cpp中 验空拦截引用错误,修复 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#2473](https://gitcode.com/cann/ops-nn/issues/2473) [#2996](https://gitcode.com/cann/ops-nn/issues/2996) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 各项均已验证200条case ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6533 | 2 个月前 | |
update error message of adaptive_mxpool2d Co-authored-by: cling<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6417 merge ada_maxpool into master update error message of adaptive_mxpool2d Created-by: clinglai0517 Commit-by: cling Merged-by: cann-robot Description: ## 描述 使用ErrorMessage接口上报adaptive_mxpool2d tiling阶段因用户输入错误而导致的问题信息,方便用户快速确认原因。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 本地测试通过 ## 文档更新 不涉及文档修改 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6417 | 2 个月前 | |
op_loge日志整改 | 2 个月前 | |
更改GRU的tiling key和tiling data格式 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6518 merge fix_gru_0624 into master 更改GRU的tiling key和tiling data格式 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 解决GRU算子tilingkey、tilingdata的调用模式使用新的模板方式的问题,并且在classify rule增加该算子的路径 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3558 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地泛化测试200+case pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6518 | 2 个月前 | |
hadamard 算子的实现,单算子+融合量化算子 Co-authored-by: TX<tianxiang.xia1@huawei.com> # message auto-generated for no-merge-commit merge: !6248 merge fht-opsnn into master hadamard 算子的实现,单算子+融合量化算子 Created-by: egrr Commit-by: TX Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 3 个融合快速哈达玛变换(FHT)算子,位于 experimental/matmul/ 下,用于 W4A4 量化中的哈达玛旋转: - fast_hadamard:FHT(fp16,非原地)。 - fast_hadamard_quant:FHT + 静态 int4 量化(packed int4,支持分组 scale/offset)。 - fast_hadamard_dynamic_quant:FHT + 每行动态 int4 量化(packed int4 + fp32 行 scale)。 实现方式:采用「生态最简算子」交付,单一 .cpp 含 device kernel + <<<>>> 启动 + TORCH_LIBRARY 注册,经 add_sources() 编入 ascend_ops_nn PyTorch 扩展,通过 torch.ops.ascend_ops_nn.* 调用。kernel 计算体取自经验证的 pto-ISA 参考实现,pto 头文件随 CANN 工具包发布(${ASCEND_TOOLKIT_HOME}/include/pto),无新增第三方依赖。动态量化算子将 reduce/expand tile 按编译期 kFullN 模板化,修复大 batch 下的 UB 越界。 附带一处共用构建修复:scripts/torch_extension/CMakeLists.txt 原 include 了仓库中缺失的 cmake/third_party/nlohmann_json.cmake,导致 PyTorch 扩展构建在 configure 阶段失败;该依赖无任何目标实际使用,改为 OPTIONAL。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue #3415 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> bash build.sh --pkg --experimental --soc=ascend910b --ops=fast_hadamard,fast_hadamard_quant,fast_hadamard_dynamic_quant pip install --no-deps --force-reinstall build_out/ascend_ops_nn-*.whl - 用例位于各算子 tests/test_*.py. python3 experimental/matmul/fast_hadamard/examples/benchmark.py 与 rotate_quant (rotq_us) 对比: batch N copy_us fht_us dyn_us rotq_us ------------------------------------------------- 8192 128 6.09 15.16 18.42 34.84 8192 256 6.12 15.45 20.50 34.58 8192 512 15.80 28.81 36.98 44.71 8192 1024 30.62 58.24 76.48 111.63 8192 2048 57.90 121.95 164.53 - rotate_quant 仅支持旋转维度 K ≤ 1024(matmul/rotate_quant/op_host/arch22/rotate_quant_tiling.cpp:39,207,tiling 校验 K must be between 16 and 1024,否则 GRAPH_FAILED);对比中旋转矩阵为 n×n(K=n),故 N=2048 超出其支持范围,无法参与对比,而本算子的向量蝶形实现支持到 n ≤ 16384。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 3 个算子的 README.mdq ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6248 | 2 个月前 | |
【FIX】QuantBatchMatmulV3 基于编译期 asc-devkit 版本判断 Tensor API 能力导致运行时包不匹配的问题 Co-authored-by: YaQ1an9<1185365215@qq.com> # message auto-generated for no-merge-commit merge: !5927 merge codex/runtime-asc-devkit-version into master 【FIX】QuantBatchMatmulV3 基于编译期 asc-devkit 版本判断 Tensor API 能力导致运行时包不匹配的问题 Created-by: Hu1L1 Commit-by: YaQ1an9 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 QuantBatchMatmulV3 的 Tensor API 能力判断从编译期 asc-devkit 版本宏切换为运行时 CANN runtime 版本判断。 原逻辑依赖 ASC_DEVKIT_MAJOR/ASC_DEVKIT_MINOR: cpp (ASC_DEVKIT_MAJOR >= 9) && (ASC_DEVKIT_MINOR > 0) 该判断只能反映编译环境版本,不能保证与实际运行时 CANN 包一致。为避免编译包和运行包不一致时走错 Tensor API 路径,本 PR 改为调用: aclsysGetVersionNum("runtime", &versionNum) 并以 versionNum >= 90100000 判断是否支持 Tensor API 相关路径。获取版本失败时保守返回 false。 ` 同时补充: host 侧 ophost 动态库链接 acl_rt; op_host UT 链接 acl_rt; UT 复用 host util 中的 IsTensorapiCapable(),避免测试侧重复维护编译期判断逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3269 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行代码检查: 确认 aclsysGetVersionNum 符号由 libacl_rt.so 导出; 确认 host .so 和 op_host UT 均已补充 acl_rt 链接依赖; 确认 QuantBatchMatmulV3 host util 和 UT 均使用运行时版本判断逻辑。 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及资料修改 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5927 | 2 个月前 | |
修复REAMDE.md命名错误 Co-authored-by: zhongheng<m202474569@hust.edu.cn> # message auto-generated for no-merge-commit merge: !6605 merge master into master 修复REAMDE.md命名错误 Created-by: zhongheng Commit-by: zhongheng Merged-by: cann-robot Description: ## 描述 修复REAMDE.md命名错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6605 | 2 个月前 | |
update clang-format Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !6193 merge master into master update clang-format Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新代码仓clang-format 配置: Align:参数换行时,会与左括号后的第一个参数对齐 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3389 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6193 | 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 个月前 | |
修复sig组链接 Co-authored-by: ilovescrapy<2623969821@qq.com> # message auto-generated for no-merge-commit merge: !5406 merge master into master 修复sig组链接 Created-by: ilovescrapy Commit-by: ilovescrapy Merged-by: cann-robot Description: 原sig链接为ops-basic,然而ops-basic sig下是ops-basic、ops-math、ops-cv仓并没有ops-nn,ops-nn仓独属于ops-nn SIG See merge request: cann/ops-nn!5406 | 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 个月前 | |
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 个月前 | |
更改GRU的tiling key和tiling data格式 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6518 merge fix_gru_0624 into master 更改GRU的tiling key和tiling data格式 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 解决GRU算子tilingkey、tilingdata的调用模式使用新的模板方式的问题,并且在classify rule增加该算子的路径 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3558 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地泛化测试200+case pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6518 | 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/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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。