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