Skip to content

Code Contribution

Duyi-Wang edited this page Oct 19, 2023 · 2 revisions

Code Format

使用.clang-format文件来配置C++格式化,pyproject.toml来配置Python格式化。C++ Vscode默认的格式化就支持。
Python需要安装插件Black Formatter - Visual Studio Marketplace或者手动指定format工具为black
CmakeLists.txt使用cmake-format,Vscode安装插件cmake-format

Git Branch name 格式

  • For bug fix: <your_user_name>/bug/<bug_name>
  • For new feature: <your_user_name>/feature/<feature_name>

Git Commit message 格式

[Component] <Subject>.
<Description>
<Design Document>
  • Component(必选): 对于某个功能相关工作,可以使用Component来标示。使用Component标示后,需要和后面的subject有空格。当前Component有以下选项:[Kernel]、[Model]、[CI]、...
  • Subject(必选): subject是 commit 目的的简短描述,必须英文,不超过50个字符。首字母需要大写,并且结尾为.
  • Description(可选): Description是对commit更进一步详细描述,比如bugfix的话,就是bug的导致的场景。如果是性能优化则是性能数据。通过description来作为subject的补充。
    Design Document(可选): 当功能有对应的设计文档,并且设计文档需要附上相关链接,或者将对应的设计文档提交至代码库中。建议所有功能开发的文档,都需要关联对应的设计文档。

示例

[Kernel] Add hgemm_f32f16f32 kernels.

代码提交流程

首先在github fork一个自己的repo,然后在自己repo上创建自己的开发分支,功能完成后,提交Pull Request至该repo,待PR被Accept后,Merge回master。提交时,需要选择Pull Request的类型,便于对Pull Request归类,如下图:

  • 代码Review规范:
  1. 提交前,请使用 VSCode format 进行格式检查。
  2. 代码至少需要1个同学Accept,包括一个外部同学。
Clone this wiki locally