@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / ed540d6d4c
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

Update release pipeline for PyTorch 2.9.0 (#27303)

Signed-off-by: Huy Do <huydhn@gmail.com>

Huy Do committed Oct 22, 2025 at 02:18 UTC ed540d6d4c12309f1b258b440e2803e00cc4eb0e
3 files changed +19 -27
.buildkite/release-pipeline.yaml
+12 -12
@@ -1,5 +1,5 @@
1 steps:
2 - # aarch64 + CUDA builds. PyTorch 2.8 aarch64 + CUDA wheel is only available on CUDA 12.9
2 + # aarch64 + CUDA builds
3 - label: "Build arm64 wheel - CUDA 12.9"
4 depends_on: ~
5 id: build-wheel-arm64-cuda-12-9
@@ -15,20 +15,21 @@ steps:
15 env:
16 DOCKER_BUILDKIT: "1"
17
18 - # aarch64 build.
18 + # aarch64 build
19 - label: "Build arm64 CPU wheel"
20 depends_on: ~
21 id: build-wheel-arm64-cpu
22 agents:
23 queue: arm64_cpu_queue_postmerge
24 commands:
25 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile.cpu ."
25 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_BUILD_ACL=ON --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile.cpu ."
26 - "mkdir artifacts"
27 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
28 - "bash .buildkite/scripts/upload-wheels.sh"
29 env:
30 DOCKER_BUILDKIT: "1"
31
32 + # x86 + CUDA builds
33 - label: "Build wheel - CUDA 12.8"
34 depends_on: ~
35 id: build-wheel-cuda-12-8
@@ -42,33 +43,33 @@ steps:
43 env:
44 DOCKER_BUILDKIT: "1"
45
45 - - label: "Build wheel - CUDA 12.6"
46 + - label: "Build wheel - CUDA 12.9"
47 depends_on: ~
47 - id: build-wheel-cuda-12-6
48 + id: build-wheel-cuda-12-9
49 agents:
50 queue: cpu_queue_postmerge
51 commands:
51 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.6.3 --build-arg torch_cuda_arch_list='7.0 7.5 8.0 8.9 9.0+PTX' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
52 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
53 - "mkdir artifacts"
54 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
55 - "bash .buildkite/scripts/upload-wheels.sh"
56 env:
57 DOCKER_BUILDKIT: "1"
58
58 - # x86 + CUDA builds
59 - - label: "Build wheel - CUDA 12.9"
59 + - label: "Build wheel - CUDA 13.0"
60 depends_on: ~
61 - id: build-wheel-cuda-12-9
61 + id: build-wheel-cuda-13-0
62 agents:
63 queue: cpu_queue_postmerge
64 commands:
65 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
65 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
66 - "mkdir artifacts"
67 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
68 - "bash .buildkite/scripts/upload-wheels.sh"
69 env:
70 DOCKER_BUILDKIT: "1"
71
72 + # Build release images (12.9)
73 - label: "Build release image (x86)"
74 depends_on: ~
75 id: build-release-image-x86
@@ -76,13 +77,12 @@ steps:
77 queue: cpu_queue_postmerge
78 commands:
79 - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
79 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.8.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
80 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
81 - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
82 # re-tag to default image tag and push, just in case arm64 build fails
83 - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
84 - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
85
85 - # PyTorch 2.8 aarch64 + CUDA wheel is only available on CUDA 12.9
86 - label: "Build release image (arm64)"
87 depends_on: ~
88 id: build-release-image-arm64
.buildkite/scripts/upload-wheels.sh
+6 -14
@@ -58,33 +58,25 @@ python3 .buildkite/generate_index.py --wheel "$normal_wheel"
58 aws s3 cp "$wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
59 aws s3 cp "$normal_wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
60
61 -if [[ $normal_wheel == *"cu126"* ]]; then
62 - # if $normal_wheel matches cu126, do not upload the index.html
63 - echo "Skipping index files for cu126 wheels"
64 -elif [[ $normal_wheel == *"cu128"* ]]; then
65 - # if $normal_wheel matches cu128, do not upload the index.html
66 - echo "Skipping index files for cu128 wheels"
67 -else
61 +if [[ $normal_wheel == *"cu129"* ]]; then
62 # only upload index.html for cu129 wheels (default wheels) as it
63 # is available on both x86 and arm64
64 aws s3 cp index.html "s3://vllm-wheels/$BUILDKITE_COMMIT/vllm/index.html"
65 aws s3 cp "s3://vllm-wheels/nightly/index.html" "s3://vllm-wheels/$BUILDKITE_COMMIT/index.html"
66 +else
67 + echo "Skipping index files for non-cu129 wheels"
68 fi
69
70 # generate index for nightly
71 aws s3 cp "$wheel" "s3://vllm-wheels/nightly/"
72 aws s3 cp "$normal_wheel" "s3://vllm-wheels/nightly/"
73
78 -if [[ $normal_wheel == *"cu126"* ]]; then
79 - # if $normal_wheel matches cu126, do not upload the index.html
80 - echo "Skipping index files for cu126 wheels"
81 -elif [[ $normal_wheel == *"cu128"* ]]; then
82 - # if $normal_wheel matches cu128, do not upload the index.html
83 - echo "Skipping index files for cu128 wheels"
84 -else
74 +if [[ $normal_wheel == *"cu129"* ]]; then
75 # only upload index.html for cu129 wheels (default wheels) as it
76 # is available on both x86 and arm64
77 aws s3 cp index.html "s3://vllm-wheels/nightly/vllm/index.html"
78 +else
79 + echo "Skipping index files for non-cu129 wheels"
80 fi
81
82 aws s3 cp "$wheel" "s3://vllm-wheels/$version/"
docker/Dockerfile.cpu
+1 -1
@@ -31,7 +31,7 @@ ARG PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu"
31 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
32 --mount=type=cache,target=/var/lib/apt,sharing=locked \
33 apt-get update -y \
34 - && apt-get install -y --no-install-recommends ccache git curl wget ca-certificates \
34 + && apt-get install -y --no-install-recommends sudo ccache git curl wget ca-certificates \
35 gcc-12 g++-12 libtcmalloc-minimal4 libnuma-dev ffmpeg libsm6 libxext6 libgl1 jq lsof \
36 && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10 --slave /usr/bin/g++ g++ /usr/bin/g++-12 \
37 && curl -LsSf https://astral.sh/uv/install.sh | sh