Skip to content

Latest commit

 

History

History
67 lines (44 loc) · 2.56 KB

CONTRIBUTION.md

File metadata and controls

67 lines (44 loc) · 2.56 KB

Contribution

非常欢迎您贡献文档和代码,我们鼓励开发者以各种方式参与文档和代码的反馈与贡献。包括但不限于:

  • 修改拼写错误和代码错误
  • 添加新算子
  • 添加文档或将文档翻译成其它语言

在参与贡献前,请先阅读遵守以下准则。

如何添加新算子

  1. 调研算子功能,撰写算子设计文档,参考BANGC-OPS算子设计文档模板BANGPy-OPS算子设计文档模板,主要包括:

    • 算子需求分析
    • 算子接口设计
    • 算子实现方案设计
  2. 算子代码开发,参考BANGC-OPS算子开发流程BANGPy-OPS算子开发流程PULL REQUEST流程,主要包括:

    • 算子设计文档提交 PR(Pull Requset),其中 BANGC 算子设计文档目录为docs/bangc-docs/design_docs ,BANGPy 算子设计文档目录为docs/bangpy-docs/design_docs
    • GTest 代码开发
    • 算子伪代码开发
    • 算子主体代码开发
  3. 完成测试并撰写测试报告,参考MLU-OPS性能验收标准MLU-OPS测试报告模板MLU-OPS-Accuracy-Acceptance-Standard,主要包括:

    • 测例规模
    • 测例数据类型
    • 性能测试
    • 稳定性测试
    • 内存泄露测试
  4. 算子代码、算子测试报告一起提交 PR

代码风格

Python 和 BANGPy

  • 遵循 PEP8

  • 采用 Pylint 检查代码格式

  • 安装 Pylint

    pip install pylint  # install
  • 手动检查代码格式

    python3 -m pylint ./bangpy-ops --rcfile=./bangpy-ops/utils/pylintrc

C++ 和 BANGC

其它

  1. PR 合入需要至少两个点赞

  2. 开发周期建议:算子文档设计1周,算子代码开发和测试报告1~2周,根据修改意见完善设计方案和代码1~2周