非常欢迎您贡献文档和代码,我们鼓励开发者以各种方式参与文档和代码的反馈与贡献。包括但不限于:
- 修改拼写错误和代码错误
- 添加新算子
- 添加文档或将文档翻译成其它语言
在参与贡献前,请先阅读遵守以下准则。
-
调研算子功能,撰写算子设计文档,参考BANGC-OPS算子设计文档模板或BANGPy-OPS算子设计文档模板,主要包括:
- 算子需求分析
- 算子接口设计
- 算子实现方案设计
-
算子代码开发,参考BANGC-OPS算子开发流程或BANGPy-OPS算子开发流程、PULL REQUEST流程,主要包括:
- 算子设计文档提交
PR
(Pull Requset),其中 BANGC 算子设计文档目录为docs/bangc-docs/design_docs
,BANGPy 算子设计文档目录为docs/bangpy-docs/design_docs
- GTest 代码开发
- 算子伪代码开发
- 算子主体代码开发
- 算子设计文档提交
-
完成测试并撰写测试报告,参考MLU-OPS性能验收标准、MLU-OPS测试报告模板、MLU-OPS-Accuracy-Acceptance-Standard,主要包括:
- 测例规模
- 测例数据类型
- 性能测试
- 稳定性测试
- 内存泄露测试
-
算子代码、算子测试报告一起提交
PR
-
遵循 PEP8
-
采用 Pylint 检查代码格式
-
安装 Pylint
pip install pylint # install
-
手动检查代码格式
python3 -m pylint ./bangpy-ops --rcfile=./bangpy-ops/utils/pylintrc
-
采用 Cpplint 检查代码格式( pre commit 自动触发格式检查)
pip install cpplint # install
-
PR
合入需要至少两个点赞 -
开发周期建议:算子文档设计1周,算子代码开发和测试报告1~2周,根据修改意见完善设计方案和代码1~2周