Contributing to the Triton FIL backend#
How to Contribute#
You can help improve the Triton FIL backend in any of the following ways:
Submitting a bug report, feature request or documentation issue
Proposing and implementing a new feature
Implementing a feature or bug-fix for an outstanding issue
Bug reports#
When submitting a bug report, please include a minimum reproducible example. Ideally, this should be a snippet of code that other developers can copy, paste, and immediately run to try to reproduce the error. Please:
Do include import statements and any other code necessary to immediately run your example
Avoid examples that require other developers to download models or data unless you cannot reproduce the problem with synthetically-generated data
Code Contributions#
To contribute code to this project, please follow these steps:
Find an issue to work on or submit an issue documenting the problem you would like to work on.
Comment on the issue saying that you plan to work on it.
Review the implementation details section below for information to help you make your changes in a way that is consistent with the rest of the codebase.
Code!
Create your pull request.
Wait for other developers to review your code and update your PR as needed.
Once a PR is approved, it will be merged into the main branch.
Signing Your Work#
We require that all contributors “sign-off” on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
Any contribution which contains commits that are not Signed-Off will not be accepted.
To sign off on a commit you simply use the
--signoff
(or-s
) option when committing your changes:$ git commit -s -m "Add cool feature."
This will append the following to your commit message:
Signed-off-by: Your Name <your@email.com>
Full text of the DCO:
Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
Developer Workflow Documentation#
Additional information useful to contributors is available in the following sections:
Style#
Contributions to the FIL backend should:
Adhere to Almost-Always-Auto style
Prefer STL algorithms to raw loops wherever possible
Use C++ types except where explicitly interfacing with C code (e.g.
std::size_t
as opposed tosize_t
)Avoid depending on transitive includes