feat(extensions): add vLLM backend support#1686
Open
shlok-mehndiratta wants to merge 1 commit into
Open
Conversation
Collaborator
|
Thanks for taking on the vLLM extension path here; the GPU-only overlay shape is a good fit for how ODS models optional heavy inference services. Advisory status: not ready yet Quickest path to merge:
What I checked:
Thanks again for pushing this forward. |
Adds an opt-in vLLM extension to support high-throughput, multi-GPU inference environments. Provides Pattern-2 GPU overlays for both NVIDIA and AMD ROCm, using official vllm Docker images and exposing tensor-parallel configurations via .env variables. Allocates 8GB shm_size to natively support NCCL/RCCL tensor-parallelism without bus error crashes.
1f96640 to
fcd6118
Compare
Collaborator
|
Thanks for tightening up the vLLM extension follow-up; this head addresses the two concrete blockers from the earlier advisory pass. Advisory status: looks merge-ready What looks good:
What I checked:
Thanks again for pushing this forward. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces vLLM as an opt-in Extension Service, directly addressing the recent call for alternative, high-throughput inference backends.
While the core
llama-serveris excellent for broad consumer hardware compatibility, advanced users with multi-GPU arrays or datacenter hardware are heavily bottlenecked without PagedAttention and continuous batching. This extension provides a first-class, drop-in vLLM OpenAI-compatible server that users can route their ODS traffic to by simply pointingLLM_API_URLtohttp://vllm:8000/v1.Implementation Details
Built on top of the latest
odsdirectory re-architecture, this PR strictly follows Pattern 2 (Empty Base with Full GPU Overlay) fromEXTENSIONS.md. It safely isolates the addition without touching any High-Risk core routing logic.nvidia(usingvllm/vllm-openai:latest) andamd(usingrocm/vllm:latest, mounting/dev/kfdand/dev/dri).VLLM_MODEL,VLLM_TP_SIZE, andHUGGING_FACE_HUB_TOKENvia.envvariables so users can dynamically spin up gated models and scale tensor parallelism../data/models/huggingfaceto/root/.cache/huggingface:zfor proper persistence and strict SELinux compliance.shm_size: '8g'in both compose overlays. Without this, users runningVLLM_TP_SIZE > 1immediately hitbus errorcrashes due to Docker's default 64MB/dev/shmlimit restricting NCCL/RCCL shared memory allocation.8000but binds externally to8008(VLLM_PORT) to prevent collision withwhisper(9000) orllama-server(8080).Validation
python3 scripts/audit-extensions.py --project-dir . vllmwith 0 errors/warnings.ods.services.v1schema.git diff --checkpasses cleanly (no trailing whitespace).upstream/mainmerge to guarantee zero integration conflicts.