感谢您对HCCL的关注,本项目欢迎广大开发者体验并参与贡献。在参与社区贡献之前,请参见cann-community了解行为准则,进行 CLA 协议签署,了解源码仓的贡献流程。
- 问题修复:修复自己发现的或在Issue列表中的Bug,比如代码中的逻辑错误、内存泄漏或崩溃等问题;
- 社区任务:领取HCCL社区公布的任务;
- 性能优化:针对特定算子或特定架构的性能优化;
- 新功能支持:增加平台功能、新算子或新业务场景的支持;
- 文档优化:改进文档、注释或使用用例。
请遵从CANN 社区编码规范。
- 提交 PR 时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。
- 使用 Git 提交代码前,请参考 pre-commit工具使用指导,以保持代码风格一致且符合合规规范。
- 若您的修改不是简单的 bug 修复,而是涉及到新增特性、新增接口、新增配置参数或者修改代码流程等,请务必先通过 Issue 进行方案讨论,以避免您的代码被拒绝合入。若您不确定本次修改是否可被归为“简单的 bug 修复”,亦可通过提交 Issue 进行方案讨论。
- 认领Issue,可在Issue中讨论修复方案;
- 发起PR,确保包含触发该Bug的回归测试;
- 对PR进行审核、批准并合入。
- 记录Issue
发起Requirement类型的Issue,按照模板描述您想贡献的新功能与使用场景,在社区发起讨论。
- 需求评审
- 议题申报:在SIG双周例会申报议题进行评审。
- 评审内容:
- 需求的应用场景与业务价值;
- 需求的紧迫性与重要性;
- 是否符合社区当前的技术路线与愿景。
- 系统方案评审
- 议题申报:在SIG双周例会申报议题进行评审。
- 评审内容:
- 技术可行性;
- 系统整体架构的合理性;
- 潜在的技术风险与问题识别。
- 软件方案设计
您需要将系统方案转化为可执行的软件设计方案,同时包含完善的测试与验证方案,保障功能完善且不影响已有功能。
- 设计原则:
- 需详细阐述模块划分、数据流向及关键逻辑,确保模块职责单一,模块间解耦;
- 需要包含特性开关设计,确保新功能可以通过配置开关进行隔离,便于灰度发布与回滚。
- 软件方案评审
在评审前,请确保在相应Requirement Issue中进行过充分讨论。
- 议题申报:在SIG双周例会申报议题进行评审。
- 提交PR
开发者准备本地代码并提交PR;提交PR时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。
- 社区版本特性规划
Roadmap规划时,根据新功能是否成熟、稳定以及优先级,决定是否加入到具体的社区版本。
注:本文档有社区维护,如有变更建议,请在Issue中提出。