本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修改kirin9030编包参数错误问题,新增Kirin Presmoke nn任务 Co-authored-by: weixin_46515057<lidaoshuai@h-partners.com> # message auto-generated for no-merge-commit merge: !9837 merge master into master 修改kirin9030编包参数错误问题,新增Kirin Presmoke nn任务 Created-by: weixin_46515057 Commit-by: weixin_46515057 Merged-by: cann-robot Description: 修改kirin9030编包参数错误问题,新增Kirin Presmoke nn任务 See merge request: cann/ops-nn!9837 | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
升级 cann-cmake 至 master-049 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !9863 merge mainline into master 升级 cann-cmake 至 master-049 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 升级 cann-cmake 至 master-049 ## 关联的Issue [5553](https://gitcode.com/cann/ops-nn/issues/5553) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9863 | 1 个月前 | |
refactor: 迁移 TF 插件注册至新框架 API(part 3) Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !9758 merge tf-plugin-part3 into master refactor: 迁移 TF 插件注册至新框架 API(part 3) Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 将 TF 框架侧自定义算子注册(REGISTER_CUSTOM_OP)从旧工具链迁移至 ops-nn 新仓(TF 插件迁移 part 3),共新增/调整 22 个 *_tf_plugin.cpp 注册文件。 ### 改动原因 1. 旧注册 API(ParseParamsFn/AutoMappingFn)与标量 OriginOpType({...}) 写法在新工具链已不适用,统一迁移为 ParseParamsByOperatorFn(AutoMappingByOpFn) 与 OriginOpType(std::vector<ge::AscendString>{...}) 形式; 2. 依赖 TF protobuf NodeDef(node_def.pb.h)的旧解析逻辑在新工具链中已不存在,相关解析改为基于 ge::Operator 的子图分解(ParseOpToGraphFn/FusionParseParamsFn)实现; 3. 承接本仓已完成的 TF 插件迁移 part 1/2,补齐剩余算子的 TF 注册。 ### 改动方法 按模块汇总: - common:新增 AscendWeightQuant(TF 字符串 dst_type 到 ge DataType 的转换解析)、GatherPoint(分解为 GatherV2+Const 子图)、GatherPointGrad(分解为 ScatterUpdate 子图)注册; - index:gather_v2 新增 Gather/ResourceGather 到自定义 Gather 的注册;scatter_add/scatter_sub 新增 TensorScatterAdd/TensorScatterSub 注册;新增 BroadcastGradientArgs、SparseSegmentMean、SparseSegmentMeanGrad、SparseSlice、SparseToDense 注册; - norm:BNInfer/BNTrainingReduceGrad/BNTrainingUpdateGrad/LayerNorm/LayerNormGrad 由 ParseParamsFn 迁移到 ParseParamsByOperatorFn;LayerNorm/LayerNormGrad 增补 FusedLayerNorm/FusedLayerNormGrad 双 origin 映射;bn_training_update_v2 新增 BNTrainingUpdate 注册; - optim:ApplyAdagrad 迁移新 API(保留 ApplyAdagrad/ResourceApplyAdagrad 双 origin); - matmul:新增 Einsum 注册; - rnn:新增 BlockLSTM(分解为 DynamicRNN 子图,含 seq_length 的 Cast 与输出重排)、DynamicRNN 融合解析(FusionParseParamsFn)与 DynamicRnn 注册、DynamicRNNV2/DynamicRnnV2 系列注册(含 is_misplaced 属性处理)。 ## 关联的Issue 关联 Issue #5505:https://gitcode.com/cann/ops-nn/issues/5505 ## 测试 本 PR 仅涉及注册/图解析代码迁移,无测试文件变更;依赖仓内 CI(编译、静态检查、UT/ST 工作流)验证。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:TF 插件注册迁移(part 3) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9758 | 1 个月前 | |
npuGetFloatStatus Codecheck修改 Co-authored-by: m0_46386992<wanghongbin19@huawei.com> # message auto-generated for no-merge-commit merge: !9900 merge codecheckfix into master npuGetFloatStatus Codecheck修改 Created-by: m0_46386992 Commit-by: m0_46386992 Merged-by: cann-robot Description: ## 描述 整改NPUGetFloatStatus Geir test代码存在的codecheck问题。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5584 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - geir example编译通过 ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9900 | 1 个月前 | |
conv系列算子补充st用例 Co-authored-by: huafeng793<chenhuafeng2@huawei.com> # message auto-generated for no-merge-commit merge: !9879 merge conv_cases_opt into master conv系列算子补充st用例 Created-by: huafeng793 Commit-by: huafeng793 Merged-by: cann-robot Description: ## 描述 conv正向补充st用例和golden修复 ## 关联的Issue [#5585](https://gitcode.com/cann/ops-nn/issues/5585) ## 测试 ### 一、执行结果与总耗时 | 算子 | 用例数 | PASS | FAIL | 耗时 | |---|---|---|---|---| | Conv2DV2 | 13 | 13 | 0 | 85s | | Conv3DV2 | 17 | 17 | 0 | 83s | | ExtendConv2D | 11 | 11 | 0 | 63s | | QuantConv2D | 21 | 21 | 0 | 89s | | QuantConv3D | 11 | 11 | 0 | 69s | | **合计** | **73** | **73** | **0** | **389s (6m29s)** | **PassRate:100%(73/73)** ### 二、算子类型覆盖率 **5/5 = 100%**(Conv2DV2 / Conv3DV2 / ExtendConv2D / QuantConv2D / QuantConv3D 均有 ST 用例且全部执行) ### 三、dtype×format 组合覆盖率 **45/45 = 100%** | 算子 | 覆盖/支持 | 覆盖率 | 组合明细 | |---|---|---|---| | Conv2DV2 | 7/7 | 100% | fp16/fp32/bf16 × NCHW/NHWC + hif8/NCHW | | Conv3DV2 | 11/11 | 100% | fp16/fp32/bf16 × NCDHW/NDHWC + hif8/NCDHW + int8×{NCDHW,FRACTAL_Z_3D}×{fp16,bf16}输出 | | ExtendConv2D | 9/9 | 100% | hif8/fp8 × {fp32,fp16,bf16,同dtype}输出 + int8→fp16(hif8→hif8、fp8→fp8 由修复后的 001/004 有效覆盖) | | QuantConv2D | 9/9 | 100% | hif8/fp8 × {fp32,fp16,bf16,同dtype}输出 + int8→fp16(scale int64/ND) | | QuantConv3D | 9/9 | 100% | 同 QuantConv2D 结构(NCDHW) | ### 四、attrs 边界覆盖率 > 覆盖:左边界 + 边界中 | 算子 | 覆盖 | 覆盖率 | 说明 | |---|---|---|---| | Conv2DV2 | 8/8 | 100% | strides/pads/dilations 左边界+2、groups 1/2/4、NCHW+NHWC、enable_hf32 F/T(T 配 fp32 输入) | | Conv3DV2 | 8/8 | 100% | 同上(5D) | | ExtendConv2D | 13.5/14 | 96.4% | **enable_hf32 仅 50%**:True 需 FP32 输入,该算子无 FP32 输入组合不可测;dtype0 {0,1,27,34,36} 全覆盖、round_mode rint/round | | QuantConv2D | 8/8 | 100% | dtype {0,1,27,34,36} 全覆盖、round_mode rint/round | | QuantConv3D | 9/9 | 100% | 同上 | ### 五、新增用例数 **新增 50 条,删除 0 条**(旧用例仅行序调整,内容未变): | CSV | 库上 | 新增后 | 新增 | |---|---|---|---| | ttk_kernel_conv2dv2_st.csv | 9 | 13 | +4 | | ttk_kernel_conv3d.csv | 8 | 17 | +9 | | ttk_kernel_extend_conv2d.csv | 4 | 11 | +7 | | ttk_kernel_quant_conv2d_st.csv | 0 | 21 | +21(新建) | | ttk_kernel_quant_conv3d.csv | 2 | 11 | +9 | | **合计** | **23** | **73** | **+50** | ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:用例和golden ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9879 | 1 个月前 | |
fix quickstart Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !9897 merge master into master fix quickstart Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改quickstart的内容 ## 关联的Issue 关联Issue #3840 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9897 | 1 个月前 | |
modify examples/fast_kernel_launch_example/README.md Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !9440 merge 0828_torch_readme into master modify examples/fast_kernel_launch_example/README.md Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改 examples/fast_kernel_launch_example/README.md,新增soc说明 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#5302](https://gitcode.com/cann/ops-nn/issues/5302) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了 examples/fast_kernel_launch_example/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9440 | 1 个月前 | |
【社区任务】huber_loss 前向算子补齐 reduction(none/mean/sum)支持 Co-authored-by: gcw_5x5Ew5Ms<yangzhengzekn0w@gmail.com> # message auto-generated for no-merge-commit merge: !9622 merge feature/huber_loss-reduction-support into master 【社区任务】huber_loss 前向算子补齐 reduction(none/mean/sum)支持 Created-by: gcw_5x5Ew5Ms Commit-by: gcw_5x5Ew5Ms Merged-by: cann-robot Description: 关联 issue:#5415 ## 改动内容 experimental/loss/huber_loss 原地升级,对齐 PyTorch aten::huber_loss 前向语义: 1. **新增 reduction 属性**:0=none / 1=mean(默认)/ 2=sum;mean/sum 输出 0 维标量。各核局部和写 workspace 用户区,SyncAll() 硬同步后 core0 汇总,mean 再除 totalDataNum。 2. **IR 参数名**:predictions / targets / loss 改为 input / target / output。 3. **非连续张量**:op_def 全部 AutoContiguous(),tiling 用 GetStorageShape()。 4. **dtype**:FLOAT / FLOAT16 / BFLOAT16,ND,任意维度;半精度在 Kernel 内升 FLOAT 计算,末端一次舍入回输出 dtype。 5. **边界语义**:delta > 0 校验(NaN 同拒);空张量 mean 得 NaN、sum 得 0;Inf/NaN 按 IEEE 传播。 新增两个文件:op_host/huber_loss_tiling_calc.h(tile 求解、核切分、workspace 估算抽为无框架依赖的纯函数)、op_kernel/huber_loss_tiling_key.h(tiling key 区分 none/reduce 两种调度,host 侧经 GET_TPL_TILING_KEY 发布)。 ## 接口变更(不兼容,请评审关注) 算子类型名保持 HuberLoss,但 IR 参数名变更且新增 reduction 属性;属性槽位序为 reduction=0、delta=1,host 与 kernel 均按位读取。 ## 验证(Atlas A2 + CANN 9.0.0,ascend910b) - build.sh -u --ophost --ops=huber_loss --experimental:InferShape / InferDataType / Tiling UT **32/32 PASSED**(含动态维度、空张量、shape/dtype/reduction/delta 非法输入、UB 不足、多核切分元素守恒) - build.sh -u --opkernel --ops=huber_loss --experimental:Kernel UT **3/3 PASSED**(两分支手算对拍、非默认 delta、非对齐尾段) - pre-commit 门禁(clang-format / codespell / OAT)全部通过 See merge request: cann/ops-nn!9622 | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
perf: float2/float4 for embedding_hash_table_export/import Co-authored-by: alfengyuan<yyfgdut@gmail.com> # message auto-generated for no-merge-commit merge: !9895 merge perf/export-import-b128 into master perf: float2/float4 for embedding_hash_table_export/import Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 EmbeddingHashTableExport / EmbeddingHashTableImport 算子(arch35)引入 SIMT 访存合并优化:values 拷贝由逐元素 4B 标量访存改为按对齐分档的 float4(B128)/float2(B64) 短向量批量访存。桶 values 区偏移 24B、仅 8B 对齐(24B 桶头为 hash 家族跨算子契约),桶侧封顶 float2(B64);外部张量行在 dim%4==0 且基址 16B 对齐时用 float4(B128)(运行时对齐检查兜底)。dim≤4 回退原始标量路径(小 dim 宽访存收益抵不过开销,实测 import dim=4 无回退路径慢 16%)。桶格式/tiling/flag 语义/哈希函数零改动,canndev 仓 evict 算子跨仓契约不受影响。 **改动文件**: - hash/embedding_hash_table_import/op_kernel/arch35/embedding_hash_table_import.h:新增 CopyImportValuesMerged __simt_callee__ helper,values 插入循环改为三档合并分派(+39 -7) - hash/embedding_hash_table_export/op_kernel/arch35/embedding_hash_table_export.h:新增 CopyExportValuesMerged helper(读桶 2×float2 组装、输出行 float4 写),ExportPerThread values 拷出循环改为三档分派(+43 -7) **性能数据**(950PR,N=2^20,B=2^21,min 耗时,对比 built-in 基线): - import:dim8 +13%;dim16/32/48/64/128 = 1.65×/1.70×/1.99×/2.11×/2.35×(dim128 10.05→4.29 ms) - export:dim8/16/32/48/64/128 = 1.15×/1.21×/1.22×/1.24×/1.26×/1.28×(收益受 CountPerThread 全桶 flag 扫描等固定开销稀释) - 两算子 dim1~4 持平(标量回退路径),全 dim 无回退 ## 关联的Issue 关联 Issue #5578 ## 测试 - e2e 真机五算子 canonical 精度全 PASS(init 3/3、lookup 9/9、export 3/3、import 3/3、adamw 6/6) - sweep 全场景矩阵 137 用例全 PASS(init 36/36、lookup 54/54、export 11/11、import 9/9、adamw 27/27,含全 dim 档/filter_key/多表/碰撞边界) - vendor 包 vs built-in 包:精度逐项一致;性能五算子对比,优化算子只升不降,未优化的 apply_adam_w 对照组两包持平(环境无漂移) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9895 | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
rm tf plugin of dynamic_rnn and fix einsum tf plugin | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9870 merge fix/ttk-golden-tf-third-party into master fix(assets,index,loss): ScatterList 资料/校验、loss 检视整改、TTK spec 适配、tf 三方腿与三方精度修正 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ## 描述 补齐foreach类、scatter类及lamb类算子的tf等通路三方 ## 关联的Issue NA ## 测试 st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9870 | 1 个月前 | |
修改部分池化算子aclnn md文件的950确定性描述 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !9888 merge fixPoolingmd into master 修改部分池化算子aclnn md文件的950确定性描述 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改部分池化算子aclnn md文件的950确定性描述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5535 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 修改部分池化算子aclnn md文件的950确定性描述 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9888 | 1 个月前 | |
fix(dynamic_quant_v2): 修复示例groupIndex数据构造并补齐group资源释放 Co-authored-by: cuijie25<cuijie24@h-partners.com> # message auto-generated for no-merge-commit merge: !9883 merge dynamic_quant_v2_fix into master fix(dynamic_quant_v2): 修复示例groupIndex数据构造并补齐group资源释放 Created-by: cuijie25 Commit-by: cuijie25 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 aclnnDynamicQuantV2 示例代码中的两处问题: 1. **groupIndex 数据构造错误**: groupHostData = {2, rowNum} 仅 2 个元素,与 shape {4} 不符,H2D 拷贝时越界读;且不符合 group_index「各专家累计行数、末值等于 x 总行数」的约束,改为 {1, 2, 3, rowNum} 并补充注释说明。 2. **group 资源泄漏**:示例结束时未释放 group tensor 的 aclTensor 与 device 内存,补齐 aclDestroyTensor(group) 与 aclrtFree(groupDeviceAddr)。 同时将 docs/aclnnDynamicQuantV2.md 内嵌调用示例与修复并格式化后的 example 保持一致。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#5571](https://gitcode.com/cann/ops-nn/issues/5571) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - pre-commit clang-format 检查通过(v18.1.8,与仓库 hook 版本一致) - OAT 合规扫描通过(2 个变更文件) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了 quant/dynamic_quant_v2/docs/aclnnDynamicQuantV2.md 中"调用示例"代码块,与 example 代码同步。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9883 | 1 个月前 | |
rm tf plugin of dynamic_rnn and fix einsum tf plugin | 1 个月前 | |
升级 cann-cmake 至 master-049 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !9863 merge mainline into master 升级 cann-cmake 至 master-049 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 升级 cann-cmake 至 master-049 ## 关联的Issue [5553](https://gitcode.com/cann/ops-nn/issues/5553) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9863 | 1 个月前 | |
fix asan test Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !9033 merge master into master fix asan test Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 修复 ASan(AddressSanitizer)测试中暴露的问题,主要包括:类型不匹配、越界访问、字段缺失及命名不一致。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 详细变更 ### 1. 类型修正(uint32_t/int32_t → int64_t/uint64_t) 使测试中的 CompileInfo 结构体字段类型与实际算子侧定义保持一致,消除 ASan 因类型宽度不匹配报告的问题。 | 文件 | 字段 | 旧类型 | 新类型 | |------|------|--------|--------| | test_add_layer_norm_tiling.cpp | aivCoreNum_, sysWorkspaceSize_, vecRegSize_, blockSize_ | uint32_t | int64_t | | test_embedding_dense_grad_v2_tiling.cpp | totalCoreNum | int32_t | uint64_t | | test_add_rms_norm_cast_tiling.cpp | totalCoreNum | uint32_t | uint64_t | | test_add_rms_norm_quant_tiling.cpp | totalCoreNum | uint32_t | uint64_t | ### 2. 命名规范化:isRegbase → isRegBase 修正大小写不一致,统一为驼峰命名 isRegBase。 - test_embedding_dense_grad_v2_tiling.cpp ### 3. 补充缺失字段 isRegBase 为以下测试的 CompileInfo 结构体补充 isRegBase 字段(默认 false),避免因结构体字段缺失导致的内存读取越界: - test_modulate_tiling.cpp(4 处) - test_multi_scale_deformable_attention_grad_tiling.cpp(1 处) - test_multi_scale_deformable_attn_function_tiling.cpp(9 处) ### 4. 补充缺失字段 blockSize / vlFp32 - test_layer_norm_grad_tiling.cpp: 为 LayerNormGradCompileInfo 补充 blockSize 和 vlFp32(均为 int64_t)字段。 ### 5. 移除硬编码值 - test_add_rms_norm_cast_tiling.cpp: 将 totalCoreNum = 40、totalUbSize = 196608 改为 0,避免与实际平台信息不一致。 - test_add_rms_norm_quant_tiling.cpp: 同上,并调整字段顺序与命名(socVersion → curSocVersion,totalUbSize → maxUbSize)。 ### 6. 越界访问修复 - tests/ut/common/tiling_context_faker.cpp:309: 添加 idx < inputInstanceNumPacked_.size() 边界检查,防止 inputInstanceNumPacked_ 越界访问。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9033 | 1 个月前 | |
support torch2.14 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9855 merge torch into master support torch2.14 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 torch_ext jit编译时,根据已有的torch选择不同的C++版本编译 ## 关联的Issue [#5543](https://gitcode.com/cann/ops-nn/issues/5543) ## 测试 在torch2.14.0环境编译构建,然后运行算子,成功 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9855 | 1 个月前 | |
Fix misspelled executor parameter in aclnn API doxygen comment. Co-authored-by: void_ptr<baochaojun@huawei.com> # message auto-generated for no-merge-commit merge: !9690 merge pr/fix_issue_5350 into master Fix misspelled executor parameter in aclnn API doxygen comment. Created-by: void_ptr Commit-by: void_ptr Merged-by: cann-robot Description: ## 描述 修复多个两段式 aclnn 接口头文件注释参数名拼写错误 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5350 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9690 | 1 个月前 | |
修改matmul 算子atoll 异常反馈判断 Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !7083 merge master into master 修改matmul 算子atoll 异常反馈判断 Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改matmul 算子atoll 异常反馈判断,异常时返回默认值 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3882 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7083 | 3 个月前 | |
docs: 新增图融合规则说明文档 Co-authored-by: linzehui2058<2602241040@qq.com> # message auto-generated for no-merge-commit merge: !9676 merge fusion_pass_doc into master docs: 新增图融合规则说明文档 Created-by: linzehui2058 Commit-by: linzehui2058 Merged-by: cann-robot Description: ## 描述 对于已开源的图融合算子,进行对应的资料开源,包含MatmulToGemmOpFusionPass、MatmulReshapeTransposeFusionPass、GemmToMatmulFusionPass、BatchMatMul2MulFusionPass 其中的png图片格式,使用lfs进行托管 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5541 ## 文档更新 matmul\batch_mat_mul_v3\docs\BatchMatMul2MulFusionPass.md matmul\mat_mul_v3\docs\MatmulToGemmOpFusionPass.md matmul\mat_mul_v3\docs\MatmulReshapeTransposeFusionPass.md matmul\mat_mul_v3\docs\GemmToMatmulFusionPass.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9676 | 1 个月前 | |
动态库解耦 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !8927 merge master into master 动态库解耦 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 本 PR 旨在将算子侧代码与 legacy 动态库(libophost_comm_legacy.so)解耦:LegacyCommonMgr 新增 isSupported_ 支持位与 IsSupport() 接口,依据编译宏 ASCEND_COMPUTE_UNIT 判断当前 SoC 版本是否属于受支持集合 SUPPORTED_VERS(ascend910b、ascend910_93、ascend310p、ascend310b、ascend910),仅受支持时才 dlopen 加载 legacy 库;各 legacy 封装接口在不受支持时提前短路返回,matmul 系列算子的 tiling 流程同步改为容忍 legacy 能力缺失而不再硬失败,并配套调整 CMake 编译宏与 UT 测试。 ## 关联的Issue [5093](https://gitcode.com/cann/ops-nn/issues/5093) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8927 | 1 个月前 | |
aclnnQuantMatmulWeightNz 补充WeightQuantPreProcess接口aclnn资料 Co-authored-by: renzetao<renzetao2@huawei.com> # message auto-generated for no-merge-commit merge: !8866 merge data_revise into master aclnnQuantMatmulWeightNz 补充WeightQuantPreProcess接口aclnn资料 Created-by: renzetao Commit-by: renzetao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnQuantMatmulWeightNz补充weightQuantPreProcess的调用example ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4898](https://gitcode.com/cann/ops-nn/issues/4898) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> bash build.sh --run_example 测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> aclnnQuantMatmulWeightNz.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8866 | 2 个月前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !8149 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的核心资料问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3939](https://gitcode.com/cann/ops-nn/issues/3939) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8149 | 2 个月前 | |
update download ops-test-kit and update case for st Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !9537 merge ci into master update download ops-test-kit and update case for st Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 1. 更新ops_st_test.sh脚本中下载ops-test-kit的方式,由原有的配置make文件下载,改为直接用git clone下载 2. 针对线上CI模式,不返回失败,在正式上线前不阻塞CI 3. 更新非量化mm类用例,减少执行时间 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue #4426 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9537 | 1 个月前 | |
产品文档中png文件改为英文名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8300 merge master into master 产品文档中png文件改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中的png图片名由中文改为英文 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> png和相关的link md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8300 | 2 个月前 | |
init | 1 年前 | |
docs: add LayerNormRemoveBroadcastFusionPass doc Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !9631 merge ln_pass_doc into master docs: add LayerNormRemoveBroadcastFusionPass doc Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 为现有LayerNormRemoveBroadcastFusionPass融合规则补充独立资料页。该规则在Ascend 950PR/Ascend 950DT场景下,将LayerNorm算子gamma和beta输入前的BroadcastTo从图中删除,使gamma和beta直接作为LayerNorm算子的输入,并将begin_norm_axis和begin_params_axis统一设置为归一化维度的起始轴。 资料同步说明规则的使用约束: - LayerNorm算子的gamma和beta输入前均为BroadcastTo,且两个BroadcastTo的shape输入相同。 - 输入x、gamma和beta均为静态shape。 - gamma和beta不为标量,二者的shape和数据类型相同。 - gamma的维数不大于x的维数,且gamma的shape与x从归一化轴开始的后缀shape相同。 - LayerNorm算子的begin_norm_axis换算为非负轴后,指向归一化维度的起始轴。 同时新增融合前后拓扑对比图,展示两个BroadcastTo节点被移除前后的图结构。 ## 关联的Issue - https://gitcode.com/cann/ops-nn/issues/5430 ## 测试 - 本次仅新增文档和配图,不涉及代码逻辑变更,未执行代码测试。 - 已检查Markdown格式、图片文件格式及图片引用路径。 ## 文档更新 - 新增 norm/layer_norm/docs/LayerNormRemoveBroadcastFusionPass.md,说明融合模式和使用约束。 - 新增docs/zh/figures/LayerNormRemoveBroadcastFusionPass_1.png,展示融合前后的图结构。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9631 | 1 个月前 | |
cannsim改名为npusim Co-authored-by: liangbinglong<liangbinglong@huawei.com> # message auto-generated for no-merge-commit merge: !8349 merge master into master cannsim改名为npusim Created-by: liangbinglong Commit-by: liangbinglong Merged-by: cann-robot Description: ## 描述 经TSC评审,cannsim工具正式更名为npusim,相关命令行、资料同步刷新,cannsim作为别名兼容一段时间,需要尽快切换 ## 关联的Issue NA ## 测试 使用最新链接版本测试,相关命令行已经全部更名为npusim ## 文档更新 更新doc下面的调优部分文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8349 | 2 个月前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !8149 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的核心资料问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3939](https://gitcode.com/cann/ops-nn/issues/3939) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8149 | 2 个月前 | |
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 | 8 个月前 | |
【描 述】 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 | 8 个月前 | |
将卷积和matmul的ut根据版本隔离开, 整改950 ophost ut Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !9549 merge master into master 将卷积和matmul的ut根据版本隔离开, 整改950 ophost ut Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 主要修改内容: 1. nn仓完成和legacy common 动态库解耦后,卷积和matmul的不同版本 ophost ut 已经不能混合一起跑了。需要版本隔离 2. ascend950的ut全量编译 失败,需要修改 ## 关联的Issue [https://gitcode.com/cann/ops-nn/issues/5425](https://gitcode.com/cann/ops-nn/issues/5425) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9549 | 1 个月前 | |
fix matmul_emu_split_weight classify Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !9721 merge fix-mm_split_w-classify into master fix matmul_emu_split_weight classify Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 参考mat_mul_v3算子,修改matmul_emu_split_weight算子的classify_rule配置,区分arch35的扫描责任田 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 无代码改动,无需测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:classify配置调整 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9721 | 1 个月前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !8149 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的核心资料问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3939](https://gitcode.com/cann/ops-nn/issues/3939) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8149 | 2 个月前 | |
调整nn仓第三方依赖 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !7845 merge pr_6933 into master 调整nn仓第三方依赖 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 1. 文档声称 install_deps.sh 可一键安装所有列出的基础依赖("上述依赖可通过项目脚本一键安装"),但实际脚本仅安装了 GCC、CMake、pigz、dos2unix、patch,未安装 googletest(文档明确列为基础依赖项之一),开发者需手动下载源码、编译并安装 googletest,与文档"一键安装"的描述不符 2. python requirements多两个不需要的依赖 ### 主要修改 为install_deps.sh 增加了安装gtest的功能 删除requirements中多余的两个依赖 ## 关联的Issue [#4256](https://gitcode.com/cann/ops-nn/issues/4256) [#4154](https://gitcode.com/cann/ops-nn/issues/4154) ## 测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7845 | 2 个月前 | |
调整nn仓第三方依赖 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !7845 merge pr_6933 into master 调整nn仓第三方依赖 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 1. 文档声称 install_deps.sh 可一键安装所有列出的基础依赖("上述依赖可通过项目脚本一键安装"),但实际脚本仅安装了 GCC、CMake、pigz、dos2unix、patch,未安装 googletest(文档明确列为基础依赖项之一),开发者需手动下载源码、编译并安装 googletest,与文档"一键安装"的描述不符 2. python requirements多两个不需要的依赖 ### 主要修改 为install_deps.sh 增加了安装gtest的功能 删除requirements中多余的两个依赖 ## 关联的Issue [#4256](https://gitcode.com/cann/ops-nn/issues/4256) [#4154](https://gitcode.com/cann/ops-nn/issues/4154) ## 测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7845 | 2 个月前 | |
upgrade version 9.2.0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9513 merge master into master upgrade version 9.2.0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 upgrade version 9.2.0 ## 关联的Issue [#5362](https://gitcode.com/cann/ops-nn/issues/5362) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 版本更新 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9513 | 1 个月前 |
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,可以通过NPU 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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。