Skip to content

Commit c3f03aa

Browse files
authored
Merge branch 'main' into optimized-36539
2 parents 96732fe + 83762b7 commit c3f03aa

286 files changed

Lines changed: 10836 additions & 4744 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.buildkite/hardware_tests/cpu.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,22 @@ steps:
141141
commands:
142142
- |
143143
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 45m "
144-
pytest -x -v -s tests/models/multimodal/generation --ignore=tests/models/multimodal/generation/test_pixtral.py -m cpu_model --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB"
144+
pytest -x -v -s tests/models/multimodal/generation --ignore=tests/models/multimodal/generation/test_pixtral.py --ignore=tests/models/multimodal/generation/test_qwen2_5_vl.py -m cpu_model --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB"
145145
parallelism: 4
146146

147+
- label: CPU-Qwen2.5-VL Multimodal Tests
148+
depends_on: []
149+
device: intel_cpu
150+
no_plugin: true
151+
source_file_dependencies:
152+
# - vllm/
153+
- vllm/model_executor/layers/rotary_embedding
154+
- tests/models/multimodal/generation/
155+
commands:
156+
- |
157+
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 40m "
158+
VLLM_CI_ENV=0 pytest -x -v -s tests/models/multimodal/generation/test_qwen2_5_vl.py"
159+
147160
- label: "Arm CPU Test"
148161
depends_on: []
149162
soft_fail: false

.buildkite/image_build/image_build.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,18 @@ setup_buildx_builder() {
7979
docker buildx ls | grep -E '^\*|^NAME' || docker buildx ls
8080
}
8181

82+
annotate_image_tags() {
83+
.buildkite/scripts/annotate-image-build.sh \
84+
"${IMAGE_TAG:-}" "${IMAGE_TAG_LATEST:-}"
85+
}
86+
8287
check_and_skip_if_image_exists() {
8388
if [[ -n "${IMAGE_TAG:-}" ]]; then
8489
echo "--- :mag: Checking if image exists"
8590
if docker manifest inspect "${IMAGE_TAG}" >/dev/null 2>&1; then
8691
echo "Image already exists: ${IMAGE_TAG}"
8792
echo "Skipping build"
93+
annotate_image_tags
8894
exit 0
8995
fi
9096
echo "Image not found, proceeding with build"
@@ -171,6 +177,18 @@ BRANCH=$4
171177
IMAGE_TAG=$5
172178
IMAGE_TAG_LATEST=${6:-} # only used for main branch, optional
173179

180+
# When TORCH_NIGHTLY=1, build the base CI image against PyTorch nightly so the
181+
# entire existing pipeline runs on nightly torch (CUDA/GPU lane only). Delegate
182+
# to the dedicated nightly build (PYTORCH_NIGHTLY=1, CUDA 13.0) and tag it at the
183+
# normal IMAGE_TAG that every test step already pulls -- no separate image tag,
184+
# no duplicate "vLLM Against PyTorch Nightly" pipeline section.
185+
if [[ "${TORCH_NIGHTLY:-0}" == "1" ]]; then
186+
echo "--- :warning: TORCH_NIGHTLY=1 -- building base image on PyTorch nightly"
187+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
188+
exec "${SCRIPT_DIR}/image_build_torch_nightly.sh" \
189+
"${REGISTRY}" "${REPO}" "${BUILDKITE_COMMIT}" "${BRANCH}" "${IMAGE_TAG}"
190+
fi
191+
174192
# build config
175193
TARGET="test-ci"
176194
VLLM_BAKE_FILE_PATH="${VLLM_BAKE_FILE_PATH:-docker/docker-bake.hcl}"
@@ -254,3 +272,5 @@ echo "--- :docker: Building ${TARGET}"
254272
docker --debug buildx bake -f "${VLLM_BAKE_FILE_PATH}" -f "${CI_HCL_PATH}" --progress plain "${TARGET}"
255273

256274
echo "--- :white_check_mark: Build complete"
275+
276+
annotate_image_tags

.buildkite/image_build/image_build_arm64.sh

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,31 @@ fi
99
REGISTRY=$1
1010
REPO=$2
1111
BUILDKITE_COMMIT=$3
12+
IMAGE="$REGISTRY/$REPO:$BUILDKITE_COMMIT-arm64"
1213

1314
# authenticate with AWS ECR
1415
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" || true
1516

1617
# skip build if image already exists
17-
if [[ -z $(docker manifest inspect "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64) ]]; then
18-
echo "Image not found, proceeding with build..."
19-
else
18+
if docker manifest inspect "$IMAGE" >/dev/null 2>&1; then
2019
echo "Image found"
21-
exit 0
20+
else
21+
echo "Image not found, proceeding with build..."
22+
# build for arm64 GPU targets: Grace/GH200 (sm_90),
23+
# Blackwell/Thor (sm_100/sm_103/sm_110), and DGX Spark/GB10
24+
# (sm_121, family-covered by 12.0 under CUDA 13)
25+
docker build --file docker/Dockerfile \
26+
--platform linux/arm64 \
27+
--build-arg max_jobs=16 \
28+
--build-arg nvcc_threads=4 \
29+
--build-arg torch_cuda_arch_list="9.0 10.0 11.0 12.0" \
30+
--build-arg USE_SCCACHE=1 \
31+
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
32+
--tag "$IMAGE" \
33+
--target test \
34+
--progress plain .
35+
# push
36+
docker push "$IMAGE"
2237
fi
2338

24-
# build for arm64 GPU targets: Grace/GH200 (sm_90) and DGX Spark/GB10
25-
# (sm_121, family-covered by 12.0 under CUDA 13)
26-
docker build --file docker/Dockerfile \
27-
--platform linux/arm64 \
28-
--build-arg max_jobs=16 \
29-
--build-arg nvcc_threads=4 \
30-
--build-arg torch_cuda_arch_list="9.0 12.0" \
31-
--build-arg USE_SCCACHE=1 \
32-
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
33-
--tag "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64 \
34-
--target test \
35-
--progress plain .
36-
37-
# push
38-
docker push "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64
39+
.buildkite/scripts/annotate-image-build.sh "$IMAGE"

.buildkite/image_build/image_build_cpu.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ fi
99
REGISTRY=$1
1010
REPO=$2
1111
BUILDKITE_COMMIT=$3
12+
IMAGE="$REGISTRY/$REPO:$BUILDKITE_COMMIT-cpu"
1213

1314
# authenticate with AWS ECR
1415
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" || true
1516

1617
# skip build if image already exists
17-
if [[ -z $(docker manifest inspect "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-cpu) ]]; then
18-
echo "Image not found, proceeding with build..."
19-
else
18+
if docker manifest inspect "$IMAGE" >/dev/null 2>&1; then
2019
echo "Image found"
21-
exit 0
20+
else
21+
echo "Image not found, proceeding with build..."
22+
# build
23+
docker build --file docker/Dockerfile.cpu \
24+
--build-arg max_jobs=16 \
25+
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
26+
--build-arg VLLM_CPU_X86=true \
27+
--tag "$IMAGE" \
28+
--target vllm-test \
29+
--progress plain .
30+
# push
31+
docker push "$IMAGE"
2232
fi
2333

24-
# build
25-
docker build --file docker/Dockerfile.cpu \
26-
--build-arg max_jobs=16 \
27-
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
28-
--build-arg VLLM_CPU_X86=true \
29-
--tag "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-cpu \
30-
--target vllm-test \
31-
--progress plain .
32-
33-
# push
34-
docker push "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-cpu
34+
.buildkite/scripts/annotate-image-build.sh "$IMAGE"

.buildkite/image_build/image_build_cpu_arm64.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,25 @@ fi
99
REGISTRY=$1
1010
REPO=$2
1111
BUILDKITE_COMMIT=$3
12+
IMAGE="$REGISTRY/$REPO:$BUILDKITE_COMMIT-arm64-cpu"
1213

1314
# authenticate with AWS ECR
1415
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" || true
1516

1617
# skip build if image already exists
17-
if [[ -z $(docker manifest inspect "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64-cpu) ]]; then
18-
echo "Image not found, proceeding with build..."
19-
else
18+
if docker manifest inspect "$IMAGE" >/dev/null 2>&1; then
2019
echo "Image found"
21-
exit 0
20+
else
21+
echo "Image not found, proceeding with build..."
22+
# build
23+
docker build --file docker/Dockerfile.cpu \
24+
--build-arg max_jobs=16 \
25+
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
26+
--tag "$IMAGE" \
27+
--target vllm-test \
28+
--progress plain .
29+
# push
30+
docker push "$IMAGE"
2231
fi
2332

24-
# build
25-
docker build --file docker/Dockerfile.cpu \
26-
--build-arg max_jobs=16 \
27-
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
28-
--tag "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64-cpu \
29-
--target vllm-test \
30-
--progress plain .
31-
32-
# push
33-
docker push "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-arm64-cpu
33+
.buildkite/scripts/annotate-image-build.sh "$IMAGE"

.buildkite/image_build/image_build_hpu.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ fi
99
REGISTRY=$1
1010
REPO=$2
1111
BUILDKITE_COMMIT=$3
12+
IMAGE="$REGISTRY/$REPO:$BUILDKITE_COMMIT-hpu"
1213

1314
# authenticate with AWS ECR
1415
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" || true
1516

1617
# skip build if image already exists
17-
if [[ -z $(docker manifest inspect "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-hpu) ]]; then
18-
echo "Image not found, proceeding with build..."
19-
else
18+
if docker manifest inspect "$IMAGE" >/dev/null 2>&1; then
2019
echo "Image found"
21-
exit 0
20+
else
21+
echo "Image not found, proceeding with build..."
22+
# build
23+
docker build \
24+
--file tests/pytorch_ci_hud_benchmark/Dockerfile.hpu \
25+
--build-arg max_jobs=16 \
26+
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
27+
--tag "$IMAGE" \
28+
--progress plain \
29+
https://github.com/vllm-project/vllm-gaudi.git
30+
# push
31+
docker push "$IMAGE"
2232
fi
2333

24-
# build
25-
docker build \
26-
--file tests/pytorch_ci_hud_benchmark/Dockerfile.hpu \
27-
--build-arg max_jobs=16 \
28-
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
29-
--tag "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-hpu \
30-
--progress plain \
31-
https://github.com/vllm-project/vllm-gaudi.git
32-
33-
# push
34-
docker push "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-hpu
34+
.buildkite/scripts/annotate-image-build.sh "$IMAGE"

.buildkite/image_build/image_build_torch_nightly.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ docker buildx ls
4040
echo "--- :mag: Checking if image already exists"
4141
if docker manifest inspect "$IMAGE_TAG" >/dev/null 2>&1; then
4242
echo "Image found: $IMAGE_TAG — skipping build"
43+
.buildkite/scripts/annotate-image-build.sh "$IMAGE_TAG"
4344
exit 0
4445
fi
4546
echo "Image not found, proceeding with build..."
@@ -66,3 +67,5 @@ docker buildx build --file docker/Dockerfile \
6667
--progress plain .
6768

6869
echo "--- :white_check_mark: Torch nightly image build complete: $IMAGE_TAG"
70+
71+
.buildkite/scripts/annotate-image-build.sh "$IMAGE_TAG"

.buildkite/image_build/image_build_xpu.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ fi
99
REGISTRY=$1
1010
REPO=$2
1111
BUILDKITE_COMMIT=$3
12+
IMAGE="$REGISTRY/$REPO:$BUILDKITE_COMMIT-xpu"
1213

1314
# authenticate with AWS ECR
1415
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" || true
1516
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 936637512419.dkr.ecr.us-east-1.amazonaws.com || true
1617

1718
# skip build if image already exists
18-
if ! docker manifest inspect "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-xpu &> /dev/null; then
19-
echo "Image not found, proceeding with build..."
20-
else
19+
if docker manifest inspect "$IMAGE" &> /dev/null; then
2120
echo "Image found"
22-
exit 0
21+
else
22+
echo "Image not found, proceeding with build..."
23+
# build
24+
docker build \
25+
--file docker/Dockerfile.xpu \
26+
--build-arg max_jobs=16 \
27+
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
28+
--tag "$IMAGE" \
29+
--progress plain .
30+
# push
31+
docker push "$IMAGE"
2332
fi
2433

25-
# build
26-
docker build \
27-
--file docker/Dockerfile.xpu \
28-
--build-arg max_jobs=16 \
29-
--build-arg buildkite_commit="$BUILDKITE_COMMIT" \
30-
--tag "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-xpu \
31-
--progress plain .
32-
33-
# push
34-
docker push "$REGISTRY"/"$REPO":"$BUILDKITE_COMMIT"-xpu
34+
.buildkite/scripts/annotate-image-build.sh "$IMAGE"

.buildkite/intel_jobs/misc_intel.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,7 @@ steps:
7272
pytest -v -s v1/test_oracle.py &&
7373
pytest -v -s v1/test_request.py &&
7474
pytest -v -s v1/test_outputs.py &&
75-
pytest -v -s v1/sample/test_topk_topp_sampler.py &&
76-
pytest -v -s v1/sample/test_logprobs.py &&
77-
pytest -v -s v1/sample/test_logprobs_e2e.py'
75+
pytest -v -s v1/sample'
7876
7977
- label: Basic Models Tests (Initialization)
8078
timeout_in_minutes: 60

.buildkite/release-pipeline.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,25 @@ steps:
350350
- "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu129-ubuntu2404"
351351
- 'bash .buildkite/scripts/annotate-build-artifact.sh "$$BUILDKITE_LABEL" "public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu129-ubuntu2404"'
352352

353+
- label: ":docker: Build release image - x86_64 - XPU"
354+
depends_on: ~
355+
id: build-xpu-release-image
356+
agents:
357+
queue: cpu_queue_release
358+
commands:
359+
- "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
360+
- |
361+
DOCKER_BUILDKIT=1 docker build \
362+
$(bash .buildkite/scripts/docker-build-metadata-args.sh xpu) \
363+
--build-arg GIT_REPO_CHECK=1 \
364+
--target vllm-openai \
365+
--progress plain \
366+
-f docker/Dockerfile.xpu .
367+
- "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-xpu"
368+
- 'bash .buildkite/scripts/annotate-build-artifact.sh "$$BUILDKITE_LABEL" "public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-xpu"'
369+
env:
370+
DOCKER_BUILDKIT: "1"
371+
353372
- block: "Build release image for x86_64 CPU"
354373
key: block-cpu-release-image-build
355374
depends_on: ~
@@ -445,6 +464,16 @@ steps:
445464
- "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu129-ubuntu2404"
446465
- 'bash .buildkite/scripts/annotate-build-artifact.sh "Manifest: CUDA 12.9 Ubuntu 24.04" "public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu129-ubuntu2404"'
447466

467+
- label: "Create manifest - XPU"
468+
depends_on:
469+
- build-xpu-release-image
470+
id: create-manifest-xpu
471+
agents:
472+
queue: small_cpu_queue_release
473+
commands:
474+
- "bash .buildkite/scripts/xpu/create-xpu-ecr-manifest.sh"
475+
- 'bash .buildkite/scripts/annotate-build-artifact.sh "Manifest: XPU" "public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-xpu"'
476+
448477
- label: "Publish nightly multi-arch image to DockerHub"
449478
depends_on:
450479
- create-multi-arch-manifest
@@ -819,6 +848,23 @@ steps:
819848
DOCKER_BUILDKIT: "1"
820849
S3_BUCKET: "vllm-wheels"
821850

851+
- label: "Publish nightly XPU image to DockerHub"
852+
depends_on:
853+
- create-manifest-xpu
854+
if: build.env("NIGHTLY") == "1"
855+
agents:
856+
queue: small_cpu_queue_release
857+
commands:
858+
- "bash .buildkite/scripts/xpu/push-nightly-builds-xpu.sh"
859+
- "bash .buildkite/scripts/cleanup-nightly-builds.sh nightly- vllm/vllm-openai-xpu"
860+
plugins:
861+
- docker-login#v3.0.0:
862+
username: vllmbot
863+
password-env: DOCKERHUB_TOKEN
864+
env:
865+
DOCKER_BUILDKIT: "1"
866+
DOCKERHUB_USERNAME: "vllmbot"
867+
822868
- label: "Publish nightly ROCm image to DockerHub"
823869
depends_on:
824870
- build-rocm-release-image
@@ -849,6 +895,7 @@ steps:
849895
- create-multi-arch-manifest-cuda-12-9
850896
- create-multi-arch-manifest-ubuntu2404
851897
- create-multi-arch-manifest-cuda-12-9-ubuntu2404
898+
- create-manifest-xpu
852899
- build-rocm-release-image
853900
- input-release-version
854901
# Wait for CPU builds if their block steps were unblocked, so publish

0 commit comments

Comments
 (0)