Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sop plugin refactoring #75

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open

Sop plugin refactoring #75

wants to merge 29 commits into from

Conversation

sducouedic
Copy link
Member

@sducouedic sducouedic commented Feb 3, 2025

This PR goes along with this other PR (see detailed description of the refactoring there), to make vllm supporting spyre a plugin. Only remaining spyre-related code is for the scheduler.

Edit 07.02.2025: Change target branch from upstream-2025-01-17 to main.

tdoublep and others added 25 commits January 17, 2025 21:02
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
Signed-off-by: Thomas Parnell <tpa@zurich.ibm.com>
this PR improves code readability by

- [commit
1](0c9bec0):
removing the batch size argument in the load_model function
[here](https://github.com/IBM/vllm/blob/124f3a961d1a9ce2628c01fe56dfcc589a49c8dd/vllm/worker/spyre_worker.py#L135)
since unused in `SpyreModelRunner`
([here](https://github.com/IBM/vllm/blob/124f3a961d1a9ce2628c01fe56dfcc589a49c8dd/vllm/worker/spyre_model_runner.py#L104))
as well as in `SpyreEmbeddingModelRunner`
([here](https://github.com/IBM/vllm/blob/124f3a961d1a9ce2628c01fe56dfcc589a49c8dd/vllm/worker/spyre_embedding_model_runner.py#L52)).
- -- _[commit
2](beadbd5):
function renaming to better distinguish between the imported function
`init_distributed_environment` from `vllm.distributed` and our own
function `self.init_distributed_environment`._ -- (**reverted since this
seems to be a convention introduced in other worker classes**)

---------

Signed-off-by: Yannick Schnider <Yannick.Schnider1@ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
…ed to pluging and tested

Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
… by setting attribute 'supported_quantization' in the plugin

Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
…e_type' in Platform

Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Copy link

github-actions bot commented Feb 3, 2025

👋 Hi! Thank you for contributing to the vLLM project.
Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging.

To run CI, PR reviewers can do one of these:

  • Add ready label to the PR
  • Enable auto-merge.

🚀

@sducouedic sducouedic closed this Feb 7, 2025
@sducouedic sducouedic reopened this Feb 7, 2025
@sducouedic sducouedic closed this Feb 7, 2025
@sducouedic sducouedic reopened this Feb 7, 2025
@sducouedic sducouedic changed the base branch from upstream-2025-01-17 to main February 7, 2025 16:21
@sducouedic sducouedic added github_actions Pull requests that update GitHub Actions code dependencies Pull requests that update a dependency file labels Feb 7, 2025
sducouedic and others added 4 commits February 7, 2025 20:55
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
Signed-off-by: Sophie du Couédic <sop@zurich.ibm.com>
This PR moves the (spyre specific) scheduler class into the plugin repo
`vllm-spyre`.
it goes along with this
->[PR](https://github.com/IBM/vllm-spyre/pull/4)<- in the `vllm-spyre`
repository

Changes:
- `vllm/config.py`: introducing new variable `scheduler_cls` for class
`SchedulerConfig` (can be a path (str) or a class directly) and removing
spyre specific code to 'load warmup shapes and sort by "speed"' (moved
to `vllm-spyre`)
- `vllm/engine/llm_engine.py`: importing `Scheduler` based on
`vllm_config.scheduler_config.scheduler_cls`
- `vllm/core/scheduler.py`: removing all spyre specific code from the
scheduler logic
- `vllm/envs.py`: removing all spyre related env variables (moved to
`vllm-spyre`)
- remove the variable: `SchedulerConfig.spyre_warmup_shapes` in
`vllm/vllm.config.py`

---------

Signed-off-by: Yannick Schnider <yannick.schnider1@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants