[Doc] Move PR template content to docs (#10159)
Signed-off-by: Russell Bryant <rbryant@redhat.com>
This commit is contained in:
@@ -41,15 +41,6 @@ Testing
|
||||
Contribution Guidelines
|
||||
=======================
|
||||
|
||||
DCO and Signed-off-by
|
||||
----------------------
|
||||
|
||||
When contributing changes to this project, you must agree to the `DCO <https://github.com/vllm-project/vllm/tree/main/DCO>`_.
|
||||
Commits must include a ``Signed-off-by:`` header which certifies agreement with
|
||||
the terms of the `DCO <https://github.com/vllm-project/vllm/tree/main/DCO>`_.
|
||||
|
||||
Using ``-s`` with ``git commit`` will automatically add this header.
|
||||
|
||||
Issues
|
||||
------
|
||||
|
||||
@@ -61,7 +52,110 @@ If you encounter a bug or have a feature request, please `search existing issues
|
||||
Pull Requests & Code Reviews
|
||||
----------------------------
|
||||
|
||||
Please check the PR checklist in the `PR template <https://github.com/vllm-project/vllm/tree/main/.github/PULL_REQUEST_TEMPLATE.md>`_ for a detailed guide for contribution.
|
||||
Thank you for your contribution to vLLM! Before submitting the pull request,
|
||||
please ensure the PR meets the following criteria. This helps vLLM maintain the
|
||||
code quality and improve the efficiency of the review process.
|
||||
|
||||
DCO and Signed-off-by
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When contributing changes to this project, you must agree to the `DCO <https://github.com/vllm-project/vllm/tree/main/DCO>`_.
|
||||
Commits must include a ``Signed-off-by:`` header which certifies agreement with
|
||||
the terms of the `DCO <https://github.com/vllm-project/vllm/tree/main/DCO>`_.
|
||||
|
||||
Using ``-s`` with ``git commit`` will automatically add this header.
|
||||
|
||||
PR Title and Classification
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Only specific types of PRs will be reviewed. The PR title is prefixed
|
||||
appropriately to indicate the type of change. Please use one of the following:
|
||||
|
||||
- ``[Bugfix]`` for bug fixes.
|
||||
- ``[CI/Build]`` for build or continuous integration improvements.
|
||||
- ``[Doc]`` for documentation fixes and improvements.
|
||||
- ``[Model]`` for adding a new model or improving an existing model. Model name
|
||||
should appear in the title.
|
||||
- ``[Frontend]`` For changes on the vLLM frontend (e.g., OpenAI API server,
|
||||
``LLM`` class, etc.)
|
||||
- ``[Kernel]`` for changes affecting CUDA kernels or other compute kernels.
|
||||
- ``[Core]`` for changes in the core vLLM logic (e.g., ``LLMEngine``,
|
||||
``AsyncLLMEngine``, ``Scheduler``, etc.)
|
||||
- ``[Hardware][Vendor]`` for hardware-specific changes. Vendor name should
|
||||
appear in the prefix (e.g., ``[Hardware][AMD]``).
|
||||
- ``[Misc]`` for PRs that do not fit the above categories. Please use this
|
||||
sparingly.
|
||||
|
||||
.. note::
|
||||
If the PR spans more than one category, please include all relevant prefixes.
|
||||
|
||||
Code Quality
|
||||
^^^^^^^^^^^^
|
||||
|
||||
The PR needs to meet the following code quality standards:
|
||||
|
||||
- We adhere to `Google Python style guide
|
||||
<https://google.github.io/styleguide/pyguide.html>`_ and `Google C++ style guide
|
||||
<https://google.github.io/styleguide/cppguide.html>`_.
|
||||
- Pass all linter checks. Please use `format.sh
|
||||
<https://github.com/vllm-project/vllm/blob/main/format.sh>`_ to format your
|
||||
code.
|
||||
- The code needs to be well-documented to ensure future contributors can easily
|
||||
understand the code.
|
||||
- Include sufficient tests to ensure the project stays correct and robust. This
|
||||
includes both unit tests and integration tests.
|
||||
- Please add documentation to ``docs/source/`` if the PR modifies the
|
||||
user-facing behaviors of vLLM. It helps vLLM users understand and utilize the
|
||||
new features or changes.
|
||||
|
||||
Adding or Changing Kernels
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Each custom kernel needs a schema and one or more implementations to be registered with PyTorch.
|
||||
|
||||
- Make sure custom ops are registered following PyTorch guidelines:
|
||||
`Custom C++ and CUDA Operators <https://pytorch.org/tutorials/advanced/cpp_custom_ops.html#cpp-custom-ops-tutorial>`_
|
||||
and `The Custom Operators Manual <https://docs.google.com/document/d/1_W62p8WJOQQUzPsJYa7s701JXt0qf2OfLub2sbkHOaU>`_.
|
||||
- Custom operations that return ``Tensors`` require meta-functions.
|
||||
Meta-functions should be implemented and registered in Python so that dynamic
|
||||
dims can be handled automatically. See above documents for a description of
|
||||
meta-functions.
|
||||
- Use `torch.library.opcheck() <https://pytorch.org/docs/stable/library.html#torch.library.opcheck>`_
|
||||
to test the function registration and meta-function for any registered ops.
|
||||
See ``tests/kernels`` for examples.
|
||||
- When changing the C++ signature of an existing op, the schema must be updated
|
||||
to reflect the changes.
|
||||
- If a new custom type is needed, see the following document:
|
||||
`Custom Class Support in PT2 <https://docs.google.com/document/d/18fBMPuOJ0fY5ZQ6YyrHUppw9FA332CpNtgB6SOIgyuA>`_.
|
||||
|
||||
Notes for Large Changes
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Please keep the changes as concise as possible. For major architectural changes
|
||||
(>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue
|
||||
(RFC) discussing the technical design and justification. Otherwise, we will tag
|
||||
it with ``rfc-required`` and might not go through the PR.
|
||||
|
||||
What to Expect for the Reviews
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The goal of the vLLM team is to be a *transparent reviewing machine*. We would
|
||||
like to make the review process transparent and efficient and make sure no
|
||||
contributor feels confused or frustrated. However, the vLLM team is small, so we
|
||||
need to prioritize some PRs over others. Here is what you can expect from the
|
||||
review process:
|
||||
|
||||
- After the PR is submitted, the PR will be assigned to a reviewer. Every
|
||||
reviewer will pick up the PRs based on their expertise and availability.
|
||||
- After the PR is assigned, the reviewer will provide status updates every 2-3
|
||||
days. If the PR is not reviewed within 7 days, please feel free to ping the
|
||||
reviewer or the vLLM team.
|
||||
- After the review, the reviewer will put an ``action-required`` label on the PR
|
||||
if there are changes required. The contributor should address the comments and
|
||||
ping the reviewer to re-review the PR.
|
||||
- Please respond to all comments within a reasonable time frame. If a comment
|
||||
isn't clear or you disagree with a suggestion, feel free to ask for
|
||||
clarification or discuss the suggestion.
|
||||
|
||||
Thank You
|
||||
---------
|
||||
|
||||
Reference in New Issue
Block a user