Before you begin:
- Do you agree to the license?
- Check out the existing issues to see if an issue exists already for the change you want to make.
If you spot something new, open an issue using a template. We'll use the issue to have a conversation about the problem you want to fix.
Please DO NOT push directly to any branch in the AvA upstream repository unless the commit is simple and you are one of the core maintainers.
You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/cudart_spec_build
or feature/rdma_channel
.
Please assign any issues that you are working on to your account.
When you're done making changes and you'd like to propose them for review, use the pull request template to open your PR (pull request). It is recommended to read the template before you start to write any code.
We integrate a few format and lint checkers for C++, Python and Shell codes. Please ensure your changes do not fail the linter:
./scripts/check_cpp_format.sh [-fix] .
./scripts/check_python_format.sh [-fix] .
./scripts/check_python_lint.sh .
./scripts/check_shell_format.sh [-fix] .
If necessary, you can set up AvA's pre-commit hook by ./scripts/setup_hooks.sh
.
Once you submit your PR, some core AvA maintainers will review it with you. The first thing you're going to want to do is a self review. After that, we may have questions, check back on your PR to keep up with the conversation.
Congratulations! The AvA development team sincerely thank you ❤️.
Once your PR is merged, you will be proudly listed as a contributor in the contributor chart.
We categorize issues into four kinds:
- The
question
label is for any non-development questions such as for setting AvA up. - The
bug
label is for any bug that exists in the current AvA code or dependencies. - The
enhancement
label is for missing features that AvA may be good to have. - The
refactor
label is for refactoring or reimplementing existing codebase, or improving the documentations.
An issue may be tagged with the following labels:
- The
duplicate
label is for any duplicated questions or issues. - The
invalid
label is for any issue that is not really valid. - The
wontfix
label is for issues that we do not plan to fix in the near future. - The
help wanted
label is for any issue that one is working on but needs someone else's help.
Please feel free to contribute to any AvA documentation or submit issues for any missing information.
We try to review every single PR, but due to the time limit, the process can be slow. It is appreciated to help review or leave comments to the PRs, so that the contributors can receive feedbacks sooner and the AvA maintainers can conduct final reviews faster.
We are working hard to improve the code quality, feature coverage, system performance and robustness. Unfortunately, AvA is currently maintained by a very small number of developers at their free time. We are trying to offer assistance as much as possible, but we cannot make any guarantee of the response speed. We wish to receive helps from the open-source community, research insititutions and industry companies whoever benefit from AvA's techniques to make AvA better and keep it actively maintained.
If you are having trouble or questions about AvA, please create issues. If you are intereted in contributing to AvA, using AvA, or sponsoring AvA, please contact Hangchen Yu's AvA mailbox.