docker: upgrade base to vLLM 0.23.0, remove CUDA 13 build path - #253
Conversation
- 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>
There was a problem hiding this comment.
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.
| 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/* |
There was a problem hiding this comment.
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/*
| 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" |
There was a problem hiding this comment.
…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>
cfa977a to
d41f0aa
Compare
Summary
v0.22.0-cu129-ubuntu2404tov0.23.0-cu129-ubuntu2404ENABLE_CUDA_13conditional build paths (cu13 apt headers, TE source build, triton source build, TMS_CUDA_MAJOR)build-cu13justfile targetvllm.patchline numbers for 0.23.0Why 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/cudafromcuda-12.9tocuda-13.0(which has no nvcc), breaking TE CMake withNo CMAKE_CUDA_COMPILER could be found.Test plan
vllm.__version__ == '0.23.0'vllm.patchapply verified viapatch --dry-runon 0.23.0 base🤖 Generated with Claude Code