Skip to content

docker: upgrade base to vLLM 0.23.0, remove CUDA 13 build path - #253

Merged
CalvinXKY merged 2 commits into
mainfrom
docker/upgrade-vllm-v023
Jun 18, 2026
Merged

docker: upgrade base to vLLM 0.23.0, remove CUDA 13 build path#253
CalvinXKY merged 2 commits into
mainfrom
docker/upgrade-vllm-v023

Conversation

@aoshen02

Copy link
Copy Markdown
Collaborator

Summary

  • Upgrade base image from v0.22.0-cu129-ubuntu2404 to v0.23.0-cu129-ubuntu2404
  • Remove all ENABLE_CUDA_13 conditional build paths (cu13 apt headers, TE source build, triton source build, TMS_CUDA_MAJOR)
  • Simplify TE to wheel-only install, cublas-dev to unconditional
  • Remove build-cu13 justfile target
  • Adapt vllm.patch line numbers for 0.23.0

Why remove CUDA 13?

cu129 nvcc already supports sm100/sm120 (Blackwell). The cu13 build path was unnecessary and caused failures: cu13 apt packages hijack /etc/alternatives/cuda from cuda-12.9 to cuda-13.0 (which has no nvcc), breaking TE CMake with No CMAKE_CUDA_COMPILER could be found.

Test plan

  • Built successfully on gb200 (arm64), h200 (x86), gb300 (arm64)
  • All three confirmed vllm.__version__ == '0.23.0'
  • vllm.patch apply verified via patch --dry-run on 0.23.0 base
  • GLM-4.7-30B smoke passed with the new image on gb300

🤖 Generated with Claude Code

- Base image: v0.22.0-cu129-ubuntu2404 → v0.23.0-cu129-ubuntu2404
- Remove `ENABLE_CUDA_13` ARG and all conditional cu13 blocks:
  - cu13 apt dev headers (libcublas-dev-13-0, cuda-nvrtc-dev-13-0, etc.)
  - TE source build (cu13 wheel didn't exist; cu129 wheel works on arm64)
  - fzyzcjy triton source build (cu13 specific)
  - TMS_CUDA_MAJOR export (no longer needed)
- Simplify cublas-dev to unconditional libcublas-dev-12-9
- Simplify TE install to wheel-only
- justfile: remove `build-cu13` target and cu13 tag scheme
- vllm.patch: adapt line numbers for 0.23.0 (776/1896 vs 750/1844),
  preserve `with self.log_iteration_details(None):` wrapper

cu129 nvcc already supports sm100/sm120 (Blackwell), so cu13 build
path was unnecessary — it caused build failures on gb300 (cu13 apt
packages hijacked /etc/alternatives/cuda, breaking TE CMake).

Tested: built successfully on gb200 (arm64), h200 (x86), gb300 (arm64).
All three confirmed vLLM 0.23.0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
@read-the-docs-community

read-the-docs-community Bot commented Jun 15, 2026

Copy link
Copy Markdown

@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 upgrades the base Docker image to vllm/vllm-openai:v0.23.0-cu129-ubuntu2404 and removes the experimental CUDA 13 build paths, simplifying the Dockerfile, justfile, and updating the vLLM patch file accordingly. The review feedback suggests optimizing the Dockerfile by adding --no-install-recommends to the apt-get install command and --no-cache-dir to the pip install command to minimize the final image size.

Comment thread docker/Dockerfile
else apt-get install -y libcublas-dev-12-9; fi && \
rm -rf /var/lib/apt/lists/*
# cublas dev header for TE CMake (arm64 base ships runtime .so but not the header).
RUN apt-get update && apt-get install -y libcublas-dev-12-9 && rm -rf /var/lib/apt/lists/*

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

To keep the Docker image size as small as possible, it is recommended to use the --no-install-recommends flag with apt-get install. This prevents the installation of recommended but non-essential packages.

RUN apt-get update && apt-get install -y --no-install-recommends libcublas-dev-12-9 && rm -rf /var/lib/apt/lists/*

Comment thread docker/Dockerfile
else \
pip -v install --no-build-isolation "transformer_engine[pytorch]==2.10.0"; \
fi
RUN pip -v install --no-build-isolation "transformer_engine[pytorch]==2.10.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

It is recommended to use the --no-cache-dir flag with pip install to prevent caching of wheel files and package downloads, which helps minimize the Docker image size.

RUN pip -v install --no-cache-dir --no-build-isolation "transformer_engine[pytorch]==2.10.0"

…l_utils weight-reload fix (#45989)

v0.23.0 already includes the sleep/scheduler guard from #44483, so the
core.py patch is no longer needed. Replace it with the FP8+DeepEP
weight-reload fix (vllm-project/vllm#45989): snapshot
max_num_batched_tokens from FusedMoEConfig instead of calling
get_current_vllm_config() during layerwise reload.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Ao Shen <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
@aoshen02
aoshen02 force-pushed the docker/upgrade-vllm-v023 branch 2 times, most recently from cfa977a to d41f0aa Compare June 18, 2026 09:20

@CalvinXKY CalvinXKY left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@CalvinXKY CalvinXKY added the ready-to-merge await merge label Jun 18, 2026
@CalvinXKY
CalvinXKY merged commit 1a13bb8 into main Jun 18, 2026
3 checks passed
@aoshen02
aoshen02 deleted the docker/upgrade-vllm-v023 branch July 8, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge await merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants