Skip to content

feat: upgrade vllm from 0.25.1 to 0.27.1 for CUDA and ROCm backends - #251

Open
axsapronov wants to merge 3 commits into
gpustack:mainfrom
axsapronov:fix/vllm-0.27.1
Open

feat: upgrade vllm from 0.25.1 to 0.27.1 for CUDA and ROCm backends#251
axsapronov wants to merge 3 commits into
gpustack:mainfrom
axsapronov:fix/vllm-0.27.1

Conversation

@axsapronov

Copy link
Copy Markdown
Contributor

Summary

Upgrade vllm from 0.25.1 to 0.27.1 across CUDA 13.0, CUDA 12.9, and ROCm 7.2 backends.

Key upstream dependency changes in vllm 0.27.1

Package 0.25.1 0.27.1
PyTorch 2.11.0 2.13.0 (breaking)
Torchvision 0.22.0 0.28.0
Triton 3.1.0 3.7.1
FlashInfer 0.6.x 0.6.16.post3
NCCL 2.21.x 2.29.7
vllm-omni d3c47ef (v0.25.x rebase) d77a35a3 (v0.27.0rc1-25-gd77a35a3)

Changes

  • Dockerfiles (pack/cuda/Dockerfile.vllm, pack/rocm/Dockerfile.vllm): Updated VLLM_VERSION, VLLM_BASE_IMAGE, VLLM_TORCH_VERSION, and VLLM_OMNI_COMMIT
  • pack/matrix.yaml: Updated all three vllm build rules (CUDA 13.0, CUDA 12.9, ROCm 7.2)
  • README.md: Added v0.27.1 as polished version for CUDA 13.0, CUDA 12.9, and ROCm 7.2
  • gpustack_runner/runner.py.json: Added 5 new runner entries for vllm 0.27.1
  • Patches: Updated all patches to match v0.27.1 source context (line numbers shifted due to SPDX headers and code reorganization)
  • vllm-omni: Updated commit from d3c47ef (v0.25.x rebase) to d77a35a3 (v0.27.0rc1-25-gd77a35a3, HEAD main)

Patches verified

All three patches (001_wrong_dp_ray.patch, 002_shm_broadcast_port_race.patch, 001_wrong_patch.patch) were tested with patch --dry-run against v0.27.1 source and pass successfully.

Key dependency changes in upstream vllm 0.27.1:

  - PyTorch: 2.11.0 → 2.13.0 (breaking change)
  - Torchvision: 0.22.0 → 0.28.0
  - Triton: 3.1.0 → 3.7.1
  - FlashInfer: 0.6.x → 0.6.16.post3
  - NCCL: 2.21.x → 2.29.7
  - VLLM_OMNI_COMMIT → d77a35a3 (v0.27.0rc1-25-gd77a35a3, rebased onto vLLM 0.27.x)

Updated all patches to match v0.27.1 source context:
  - 001_wrong_dp_ray.patch: get_open_port() structure unchanged, context
    adjusted for new _get_open_port() signature (start_port, max_attempts)
  - 002_shm_broadcast_port_race.patch: TOCTOU race condition still present
    in shm_broadcast.py, line numbers shifted due to SPDX headers
  - vllm_omni/001_wrong_patch.patch: patch.py grew significantly (300 → 573
    lines) with additional patches (NVFP4 NaN clamp, CuMemAllocator fix,
    inductor divisibility), but sys.modules monkey-patching loop still lacks
    --omni guard — context rewritten for new line numbers

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the vLLM version to 0.27.1 across CUDA and ROCm backends, including updates to Dockerfiles, runner configurations, and patches. The reviewer feedback suggests adding a final newline to the modified patch files and restructuring the project to share common patches between CUDA and ROCm to reduce duplication.

Comment thread pack/cuda/patches/vllm/001_wrong_dp_ray.patch Outdated
Comment thread pack/rocm/patches/vllm/001_wrong_dp_ray.patch Outdated
…llm 0.27.1

Test fixtures had hardcoded expected values for CUDA and ROCm backends that
did not include the new vllm 0.27.1 entries. Regenerated the fixture from
actual runner catalog data so all 8 backend test cases pass.
- Add final newline to patch files (convention for text files)
- Extract common vllm and vllm_omni patches to pack/common/patches/
- Replace cuda and rocm patches with symlinks to common patches to reduce duplication
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant