If you are interested in contributing to Numba-CUDA, your contributions will fall into three categories:
- You want to report a bug, feature request, or documentation issue
- File an issue describing what you encountered or what you want to see changed.
- The Numba-CUDA team will evaluate the issues and triage them. If you believe the issue needs priority attention comment on the issue to notify the team.
- You want to propose a new Feature and implement it
- Post about your intended feature, and we shall discuss the design and implementation.
- Once we agree that the plan looks good, go ahead and implement it, using the code contributions guide below.
- You want to implement a feature or bug-fix for an outstanding issue
- Follow the code contributions guide below.
- If you need more context on a particular issue, please ask and we shall provide.
- Read the project's README.md to learn how to setup the development environment
- Find an issue to work on.
- Comment on the issue saying you are going to work on it
- Code! Make sure to update unit tests!
- When done, create your pull request
- Verify that CI passes all status checks. Fix if needed
- Wait for other developers to review your code and update code as needed
- Once reviewed and approved, a Numba-CUDA developer will merge your pull request
Remember, if you are unsure about anything, don't hesitate to comment on issues and ask for clarifications!
The release process for Numba-CUDA involves the following steps:
- Open a PR to update
numba_cuda/VERSION
to the desired version. - Generate a short changelog with
git log v<PREVIOUS_VERSION>..HEAD --oneline --pretty=format:"- %s"
- Put the changelog in the version update PR description.
- Once
main
is updated, tag the release:
git checkout main && git pull
git tag -a v<VERSION>
- For the tag annotation, paste the same changelog as above, like this:
v<VERSION>
- ... (bullet points on release items)
- Push the tag:
git push [email protected]:NVIDIA/numba-cuda.git v<VERSION>
Portions adopted from https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md