Improving the contribution page (#2804)

* edited the contribution page to remove a broken link

* smoothed language; added a link

* updated link to install

* Adding contribution guide for PRs.

* additional editing

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* Update docs/Contributors_Guide.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

---------

Co-authored-by: Vidyasagar Ananthan <vidyasagar.ananthan@amd.com>
Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>
This commit is contained in:
spolifroni-amd
2025-09-09 15:24:44 -04:00
committed by GitHub
parent e82ccbdaf7
commit 4759cb5e63

View File

@@ -5,100 +5,58 @@
.. _contributing-to:
********************************************************************
Contributor's guide
Contributing to Composable Kernel
********************************************************************
This chapter explains the rules for contributing to the Composable Kernel project, and how to contribute.
Review the `Composable Kernel documentation <https://rocm.docs.amd.com/projects/composable_kernel/en/latest/>`_ before contributing to the Composable Kernel project. This documentation provides information about core concepts and configurations, as well as providing :doc:`steps for building Composable Kernel <install/Composable-Kernel-install>`. Some of this information is also available in the `Composable Kernel README <https://github.com/ROCm/composable_kernel/blob/develop/README.md>`_.
Getting started
===============
#. **Documentation:** Before contributing to the library, familiarize yourself with the
`Composable Kernel User Guide <https://rocm.docs.amd.com/projects/composable_kernel/en/latest/>`_.
It provides insight into the core concepts, environment configuration, and steps to obtain or
build the library. You can also find some of this information in the
`README file <https://github.com/ROCm/composable_kernel/blob/develop/README.md>`_
on the project's GitHub page.
<https://community.amd.com/t5/instinct-accelerators/amd-composable-kernel-library-efficient-fused-kernels-for-ai/ba-p/553224>`_
from the AMD Community portal. It offers a deeper understanding of the library's objectives and showcases its performance capabilities.
#. **General information:** For broader information about AMD products, consider exploring the
`AMD Developer Central portal <https://www.amd.com/en/developer.html>`_.
How to contribute
===================
You can make an impact by reporting issues or proposing code enhancements through pull requests.
Consult the `AMD Developer Central portal <https://www.amd.com/en/developer.html>`_ for more information about AMD products.
Reporting issues
----------------
=================
Use `Github issues <https://github.com/ROCm/composable_kernel/issues>`_
to track public bugs and enhancement requests.
Use `Github issues <https://github.com/ROCm/composable_kernel/issues>`_ to log and track issues and enhancement requests.
If you encounter an issue with the library, please check if the problem has already been
reported by searching existing issues on GitHub. If your issue seems unique, please submit a new
issue. All reported issues must include:
If you encounter an issue with the Composable Kernel library, search the existing GitHub issues to determine whether the problem has already been
reported. If it hasn't, submit a new issue that includes:
* A comprehensive description of the problem, including:
* A description of the problem, including what you observed, what you were expecting, and why this was an issue.
* Your configuration details, including the GPU, OS, and ROCm version, and any Docker image you used.
* What did you observe?
* Why do you think it is a bug (if it seems like one)?
* What did you expect to happen? What would indicate the resolution of the problem?
* Are there any known workarounds?
* The steps to reproduce the issue, including any CMake command you used to build the library, as well as the frequency of the issue.
* Your configuration details, including:
* Any workarounds you've found and what you expect in a resolution.
* Which GPU are you using?
* Which OS version are you on?
* Which ROCm version are you using?
* Are you using a Docker image? If so, which one?
* Steps to reproduce the issue, including:
Contributing to the codebase
=============================
* What actions trigger the issue? What are the reproduction steps?
All external contributors to the Composable Kernel codebase must follow these guidelines:
* If you build the library from scratch, what CMake command did you use?
* Use the correct branch: Use your own branch for your changes. Create your branch from the develop branch.
* How frequently does this issue happen? Does it reproduce every time? Or is it a sporadic issue?
* Describe your changes: Provide the motivation for the changes and a general description of all code changes.
Before submitting any issue, ensure you have addressed all relevant questions from the checklist.
* Add design documents for major changes: Major architectural changes must be accompanied by comprehensive design documents uploaded with your pull request.
Creating Pull Requests
----------------------
* Add inline documentation: Include relevant documentation and inline comments with your code changes.
You can submit `Pull Requests (PR) on GitHub
<https://github.com/ROCm/composable_kernel/pulls>`_.
* Link your pull request to related issues: Add links to any issues resolved by your changes in your pull request description.
All contributors are required to develop their changes on a separate branch and then create a
pull request to merge their changes into the `develop` branch, which is the default
development branch in the Composable Kernel project. All external contributors must use their own
forks of the project to develop their changes.
* Verify and test the changes: Run all relevant existing tests and write new tests for any new functionality that isn't covered by existing tests.
When submitting a Pull Request you should:
* Provide performance numbers: Include documentation showing before and after performance numbers for any changes that potentially impact build times or run times.
* Describe the change providing information about the motivation for the change and a general
description of all code modifications.
* Keep your branch up to date: Regularly rebase or merge the develop branch back into your feature branch. This should be done both prior to creating your pull request and during the review process.
* Verify and test the change:
* Ensure a manageable pull request size: Pull requests should be limited to approximately one thousand lines. If your changes significantly exceed one thousand lines, break them into smaller pull requests that can be reviewed independently.
* Run any relevant existing tests.
* Write new tests if added functionality is not covered by current tests.
* Use pre-commit hooks to adhere to the coding style: Composable Kernel's coding style is defined in `.clang-format <https://github.com/ROCm/composable_kernel/blob/develop/.clang-format>`_. Use the provided pre-commit hooks to run clang formatting and linting. Instructions on installing pre-commit hooks are available in the `README file <https://github.com/ROCm/composable_kernel/blob/develop/.clang-format>`_.
* Ensure your changes align with the coding style defined in the ``.clang-format`` file located in
the project's root directory. We leverage `pre-commit` to run `clang-format` automatically. We
highly recommend contributors utilize this method to maintain consistent code formatting.
Instructions on setting up `pre-commit` can be found in the project's
`README file <https://github.com/ROCm/composable_kernel/blob/develop/README.md>`_
Forks require an approver from AMD to trigger continuous integration (CI) testing. This approval process is necessary for security and resource management.
* Link your PR to any related issues:
Depending on the complexity of your changes, an AMD developer might need to pull your changes and perform additional fixes or modifications before merging. This collaborative approach ensures compatibility with internal systems and standards.
* If there is an issue that is resolved by your change, please provide a link to the issue in
the description of your pull request.
You can see a complete list of pull requests on the `Composable Kernel GitHub page <https://github.com/ROCm/composable_kernel/pulls>`_.
* For larger contributions, structure your change into a sequence of smaller, focused commits, each
addressing a particular aspect or fix.
Following the above guidelines ensures a seamless review process and faster assistance from our
end.
Thank you for your commitment to enhancing the Composable Kernel project!