首先,感谢您抽出时间参与开源项目的建设! 我们欢迎对赤兔项目的所有贡献!本文档提供了贡献指南和说明。
- 使用
black格式化Python代码,使用clang-format格式化C++/CUDA代码 - 使用具有描述性的变量名
- 为所有公开函数和类添加文档字符串(docstrings)
- 保持函数功能单一且专注
- 尽可能添加类型提示
- Fork代码仓库
- 创建特性分支
- 进行修改
- 为新功能添加测试
- 更新文档
- 提交 Pull Request
提交优化时需包含:
- 运行
benchmarks/目录下的标准基准测试套件 - 包含优化前后的性能指标对比
- 注明任何硬件/软件环境要求
- 单元测试:所有单元测试位于test/pytest目录,使用命令
pytest test/ptest运行。提交PR前请确保所有测试通过。 - 集成测试:完整模型推理测试可通过test/single_req_test.py进行。由于许多测试需要专用硬件,可通过 [email protected] 联系团队成员协助您验证和改进PR。
- 优化性能测试:欢迎但非强制要求。