Skip to content

Latest commit

 

History

History
78 lines (48 loc) · 3.37 KB

File metadata and controls

78 lines (48 loc) · 3.37 KB

贡献指南

感谢您对HCCL的关注,本项目欢迎广大开发者体验并参与贡献。在参与社区贡献之前,请参见cann-community了解行为准则,进行 CLA 协议签署,了解源码仓的贡献流程。

期望的贡献

  • 问题修复:修复自己发现的或在Issue列表中的Bug,比如代码中的逻辑错误、内存泄漏或崩溃等问题;
  • 社区任务:领取HCCL社区公布的任务;
  • 性能优化:针对特定算子或特定架构的性能优化;
  • 新功能支持:增加平台功能、新算子或新业务场景的支持;
  • 文档优化:改进文档、注释或使用用例。

预备知识

编码规范

请遵从CANN 社区编码规范

PR规范

  1. 提交 PR 时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。
  2. 使用 Git 提交代码前,请参考 pre-commit工具使用指导,以保持代码风格一致且符合合规规范。
  3. 若您的修改不是简单的 bug 修复,而是涉及到新增特性、新增接口、新增配置参数或者修改代码流程等,请务必先通过 Issue 进行方案讨论,以避免您的代码被拒绝合入。若您不确定本次修改是否可被归为“简单的 bug 修复”,亦可通过提交 Issue 进行方案讨论。

贡献流程

问题修复或简单代码更改

  1. 认领Issue,可在Issue中讨论修复方案;
  2. 发起PR,确保包含触发该Bug的回归测试;
  3. 对PR进行审核、批准并合入。

新功能或新特性

  1. 记录Issue

发起Requirement类型的Issue,按照模板描述您想贡献的新功能与使用场景,在社区发起讨论。

  1. 需求评审
  • 议题申报:在SIG双周例会申报议题进行评审。
  • 评审内容:
    • 需求的应用场景与业务价值;
    • 需求的紧迫性与重要性;
    • 是否符合社区当前的技术路线与愿景。
  1. 系统方案评审
  • 议题申报:在SIG双周例会申报议题进行评审。
  • 评审内容:
    • 技术可行性;
    • 系统整体架构的合理性;
    • 潜在的技术风险与问题识别。
  1. 软件方案设计

您需要将系统方案转化为可执行的软件设计方案,同时包含完善的测试与验证方案,保障功能完善且不影响已有功能。

  • 设计原则:
    • 需详细阐述模块划分、数据流向及关键逻辑,确保模块职责单一,模块间解耦;
    • 需要包含特性开关设计,确保新功能可以通过配置开关进行隔离,便于灰度发布与回滚。
  1. 软件方案评审

在评审前,请确保在相应Requirement Issue中进行过充分讨论。

  1. 提交PR

开发者准备本地代码并提交PR;提交PR时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。

  1. 社区版本特性规划

Roadmap规划时,根据新功能是否成熟、稳定以及优先级,决定是否加入到具体的社区版本。

注:本文档有社区维护,如有变更建议,请在Issue中提出。