CANN 社区 ops-nn SIG 全解析:神经网络算子仓的治理架构与开发者参与指南
【免费下载链接】community本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息项目地址: https://gitcode.com/cann/community
导读
ops-nn SIG 是 CANN 开源社区中负责神经网络算子研发的兴趣小组,围绕 ops-nn 仓库 提供矩阵乘、卷积、激活、归一化、优化器等深度学习网络常用的高阶算子。本文基于 CANN/sigs/ops-nn/README.md 及社区治理、QA 测试、会议资料等仓库内容,系统梳理该 SIG 的定位与职责、算子领域划分、组织治理机制与社区运作方式,帮助开发者快速理解 ops-nn 在 CANN 架构中的位置,并找到参与算子开发、维护与社区协作的入口。
CANN 算子库分层架构中 ops-nn 的位置
一、SIG 概述:神经网络算子的研发兴趣小组
ops-nn SIG(Special Interest Group)是 CANN 社区面向神经网络(Neural Network,NN)相关算子成立的兴趣小组,核心职责是负责矩阵乘、卷积、激活等神经网络常用算子的研发、维护与演进。其正式定义记录在 CANN/sigs/ops-nn/sig-info.yaml 中:
name: ops-nn description: 提供神经网络(Neural Network,NN)类的高阶算子库,涵盖了常见的Matmul、卷积等算子。 mailing_list: "ops-nn@cann.osinfra.cn" meeting_url: "https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-nn" repositories: - repo: - cann/ops-nn从配置可见,ops-nn 的定位是"神经网络类的高阶算子库",归属于高阶算子(High-level Operators)层,这是理解该 SIG 技术边界的核心起点。
二、工作目标与治理职责
根据原文档,ops-nn SIG 承担五项核心工作目标,涵盖了从技术规划到社区运营的完整链路:
- 技术路线规划:负责神经网络算子领域技术路线规划和落地;
- 例会组织:组织神经网络算子领域例会,引导技术讨论和决策;
- 周边协同:负责周边组织沟通协调,推动落地相关项目;
- 基础设施管理:负责 SIG 仓库权限和邮件列表等基础设施的管理;
- 问题分发处理:负责社区 Bug、issue 和邮件列表等渠道反馈的问题分发处理。
其中第 4、5 项与 CANN 社区 SIG 治理章程 中对 SIG 的通用要求一致:每个 SIG 都是社区治理的基本单元,拥有独立仓库权限、邮件列表与问题处理机制。ops-nn 的邮件列表为ops-nn@cann.osinfra.cn,用于承载 SIG 内部技术讨论与决策沟通。
三、职责与范围:ops-nn 仓的 13 大算子领域
本 SIG 主要负责 ops-nn(神经网络算子) 仓库的开发与维护。仓库定位为提供神经网络计算常用算子,具体开发和管理以下 13 个类别的算子:
| 算子类别 | 英文标识 | 典型算子示例 |
|---|---|---|
| 激活类 | activation | relu、gelu |
| 控制流类 | control | 条件分支、循环等流程控制能力算子(如 assert 算子) |
| 卷积类 | conv | conv2d 等卷积操作类算子 |
| 循环操作类 | foreach | foreach_abs、foreach_add 等遍历计算算子 |
| 索引操作类 | index | index_fill、scatter 等索引操作类算子 |
| 损失函数类 | loss | l1_loss、mse_loss 等 loss 计算类算子 |
| 矩阵乘类 | matmul | matmul、batchmatmul 等矩阵乘计算类算子 |
| 归一化类 | norm | layer_norm、batch_norm 等数据归一化计算算子 |
| 优化器类 | optim | adamw 等优化器类算子 |
| 池化类 | pooling | avgpool、maxpool 等池化计算类算子 |
| 量化操作类 | quant | quant、dequant 等量化计算类算子 |
| 循环神经网络类 | rnn | rnn 计算算子 |
| 融合操作类 | vfusion | vector 融合计算类算子 |
说明:原文档中 "layer_nrom" 为笔误,结合归一化算子语义与 ops-nn 仓库实际内容(layer_norm),此处统一按 layer_norm 呈现。
源码级佐证:上述算子类别在 sig-info.yaml 的entry_configs中均有对应的path目录映射,例如foreach/activation/norm、quant、control、index/hash、vfusion/loss/optim、rnn/pooling、matmul、conv、experimental、torch_extension等,每个目录都配置了独立的 committer 权限域,与 README 中的领域划分一一对应。
四、边界与协作:ops-nn 在 CANN 架构中的位置
为保持清晰的职责划分,ops-nn SIG 与社区其他算子兴趣小组紧密协作,但专注于神经网络算子这一核心领域。它与 ops-basic SIG(负责 opbase、ops-math、ops-cv 等基础算子)和 ops-transformer SIG(负责 FlashAttention、MoE 等 transformer 融合算子)共同提供深度学习网络服务。
三个 SIG 的分工边界清晰:
- ops-basic:基础算子层,负责数学计算、张量变换、随机数、计算机视觉等基础能力;
- ops-nn:高阶算子层,负责神经网络常用算子(matmul、conv、activation 等);
- ops-transformer:高阶算子层,负责 transformer 相关融合算子(attention、moe、gmm、mc2、posembedding、ffn 等)。
从架构图(见文首)可以看出 CANN 算子库的分层结构:最上层为高阶算子(ops-nn、ops-cv、ops-transformer),中间为基础算子(ops-math),底层为框架层(opbase),ops-nn 位于高阶算子层,承担神经网络核心计算能力。
五、成员组织架构:从 Maintainer 到领域 Committer
ops-nn SIG 采用分级治理体系,成员结构在 README 与 sig-info.yaml 中均有详细记录。
5.1 Maintainer 列表(5 人)
Maintainer 是 SIG 的最高治理角色,负责技术路线决策与整体方向把控:
| 姓名 | GitCode 账号 | 邮箱 |
|---|---|---|
| 唐玮玮 | tangweiwei2 | tangweiwei2@huawei.com |
| 陈琦 | chenqi317 | chenqi317@huawei.com |
| 刘波 | liubo75 | liubo75@huawei.com |
| 胡碧霞 | crystalhu | hubixia1@huawei.com |
| 唐超 | chaotang233 | tangchao47@hisilicon.com |
5.2 Committer 列表(37 人)
Committer 负责具体代码合入审核与质量把关,共 37 人。此外,SIG 还针对不同技术领域配置了专门的领域 Committer,实现"专人专域"的精细化治理:
| 细分领域 | 领域 Committer 人数 | 代表成员 |
|---|---|---|
| foreach、activation、norm | 11 人 | 查建青、刘杰、陈昊文、黄迪、王星、苏跃明、汤平川、钱泽洪、陈兴宇、陈展熹、上官秦南 |
| quant | 15 人 | 查建青、商晓波、王子韬、刘杰、陈昊文、陈风、林鹏翔、王星、徐炳麟、苏跃明、刘泱、汤平川、钱泽洪、陈展熹、上官秦南 |
| control | 3 人 | 刘伟、唐燕峰、查建青 |
| index、hash | 10 人 | 唐燕峰、陈风、黄迪、王星、苏跃明、汤平川、钱泽洪、陈兴宇、陈展熹、上官秦南 |
| vfusion、loss、optim | 8 人 | 於欣洁、陈风、王星、苏跃明、汤平川、钱泽洪、陈展熹、上官秦南 |
| rnn、pooling | 9 人 | 刘闯、黄迪、王星、苏跃明、汤平川、钱泽洪、陈兴宇、陈展熹、上官秦南 |
| matmul | 11 人 | 范其瑞、唐超、商晓波、王子韬、杨阳、林鹏翔、徐炳麟、刘泱、朱如意、赵颖超、陈律丞 |
| conv | 9 人 | 郑李磊、余鑫、沈承宗、王慈孟、陈华锋、高成、柳宗谷、林睿涵、陈兴宇 |
| 资料 | 5 人 | 陈娇、杜慧萍、冯英、杨露、蔡雯雯 |
| API | 2 人 | 王永光、汤磊 |
| torch_extension | 6 人 | 唐玮玮、陈琦、刘波、胡碧霞、范其瑞、唐超 |
源码级佐证:领域 Committer 的划分在 sig-info.yaml 的entry_configs中得到了完整体现。除领域目录外,该配置还包含以下路径权限域:
docs、*/*/docs/acl*.md、*/*/README.md:资料文档域(陈娇等 5 人);*/*/op_host/op_api/*.h、*/*/op_host/*_def.cpp、*/*/op_api/*.h、*/*/op_graph/*_proto.h、*/*/op_graph/*_proto_extend.h:API 接口域(王永光、汤磊);cmake、scripts、common:构建与公共代码域(范其瑞、唐玮玮、陈琦、刘波、胡碧霞、杨阳、商晓波、林鹏翔);tests:测试域(范其瑞、查建青等 8 人);experimental:实验特性域(全体核心成员);torch_extension:PyTorch 扩展域(6 名核心成员)。
从源码结构可以推断,ops-nn 仓采用 host 侧(op_host)、kernel 侧与 op_api 三层算子实现结构,op_host/op_api/*.h与op_graph/*_proto.h等路径对应算子对外接口与原型定义,API Committer 对这些文件拥有独立的审核权限,从治理层面保证了算子接口的稳定性与一致性。
值得注意的是,sig-info.yaml 中 ops-nn SIG 还同时管理cann/ops-tensor仓库,其 committer 包括杨阳、陈琦、宋恺、张磊、陈康、商晓波、林鹏翔 7 人,说明该 SIG 的仓库范围不仅限于 ops-nn 单仓。
六、社区运作:会议、纪要、贡献与订阅
6.1 会议组织
- 公开会议时间:北京时间,两周一次例会,周五下午 14:15-16:00;
- 议题申报:sig-ops-nn 议题申报链接;
- 会议地址:CANN 开源社区会议日历。
6.2 会议纪要
历次会议纪要与议题均沉淀在 sig-ops-nn Etherpad,社区成员可随时回溯技术讨论与决策过程。
6.3 贡献指南
ops-nn 仓提供独立的贡献指南,开发者可遵循其中规范提交算子实现、修复与文档。社区层面还提供了算子开发贡献流程指引、PR 操作规范与新仓操作指南作为通用参考。
6.4 SIG 订阅与仓库清单
- 邮件订阅:ops-nn 邮件列表订阅入口;
- 仓库地址:https://link.gitcode.com/i/0d3a1cda8e8fd0d9911d30f02b85b24f
七、质量保障与社区资料:ops-nn 的发布验证
ops-nn 仓的质量与发布状态在社区 QA 测试报告中得到了完整记录。以 CANN 9.2.0-beta.1 测试报告 为例,cann-ops-nn在功能、性能、安全等多个维度均通过测试:
- 功能测试、兼容性测试、资料测试、安全测试等全部Pass;
- 性能测试结论为性能无劣化;
- 版本质量评估为通过。
类似结论同样出现在 CANN 9.0.1 测试报告、CANN 9.1.0-beta.1 测试报告、CANN 9.1.0-beta.2 测试报告、CANN 9.1.0-beta.3 测试报告 中,体现了 ops-nn 算子随 CANN 版本持续迭代并保持质量稳定。
在社区技术活动方面,ops-nn SIG 在 2025 年 9 月 27 日举办了"nn算子仓开源"专题分享,对应的会议材料包含《ops-nn仓开源介绍与算子能力深度解析》与《算子性能分析的"望闻问切"》两份资料,可作为了解 ops-nn 算子能力与性能调优方法论的第一手材料。
八、开发者参与路径总结
综合以上内容,开发者参与 ops-nn SIG 的完整路径为:
- 了解边界:明确 ops-nn 聚焦神经网络高阶算子(matmul、conv、activation、norm、optim、quant 等),与 ops-basic、ops-transformer 形成分层协作;
- 阅读贡献指南:遵循 ops-nn CONTRIBUTING 与社区贡献规范(C++ 编码规范)提交代码;
- 参与例会:在每周五下午 14:15-16:00 的双周例会中申报议题、参与技术讨论;
- 订阅邮件列表:订阅
ops-nn@cann.osinfra.cn获取 SIG 动态; - 反馈问题:通过 Bug、issue 渠道反馈问题,由 SIG 统一分发处理;
- 申请成为贡献者:从提交算子代码与修复开始,逐步获得对应领域(matmul、conv、quant 等)的 Committer 认可,最终进入分级治理体系。
参考资源索引:
- SIG 主页文档:CANN/sigs/ops-nn/README.md
- SIG 结构化配置(仓库、领域与权限):CANN/sigs/ops-nn/sig-info.yaml
- 协作 SIG:ops-basic|ops-transformer
- SIG 全景列表:CANN/sigs/README.md
- SIG 治理章程:governance/sig-governance.md
- 组织信息配置:CANN/org-info.yaml
- QA 测试报告:QA/test-report/README.md
- 社区会议资料:events/meetup/README.md
【免费下载链接】community本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息项目地址: https://gitcode.com/cann/community
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考