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

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

[XPU][CI] add intel xpu cases for nightly CI (#44372)

Signed-off-by: wenjun.liu <wenjun.liu@intel.com> Signed-off-by: zengxian <xiangdong.zeng@intel.com> Co-authored-by: zengxian <xiangdong.zeng@intel.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>

wenjun liu committed Jun 16, 2026 at 16:35 UTC c69c73418ab0ad13e28022ed16573019653a9bf7
2 files changed +119
.buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml new
+68
@@ -0,0 +1,68 @@
1 +group: Intel
2 +steps:
3 + - label: ":docker: Build XPU image"
4 + soft_fail: true
5 + optional: true
6 + depends_on: []
7 + key: image-build-xpu
8 + commands:
9 + - bash -lc '.buildkite/image_build/image_build_xpu.sh "public.ecr.aws/q9t5s3a7" "vllm-ci-test-repo" "$BUILDKITE_COMMIT"'
10 + env:
11 + DOCKER_BUILDKIT: "1"
12 + retry:
13 + automatic:
14 + - exit_status: -1 # Agent was lost
15 + limit: 2
16 + - exit_status: -10 # Agent was lost
17 + limit: 2
18 + - label: "XPU example Test"
19 + depends_on:
20 + - image-build-xpu
21 + timeout_in_minutes: 30
22 + optional: true
23 + device: intel_gpu
24 + no_plugin: true
25 + env:
26 + REGISTRY: "public.ecr.aws/q9t5s3a7"
27 + REPO: "vllm-ci-test-repo"
28 + source_file_dependencies:
29 + - .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
30 + - .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
31 + commands:
32 + - >-
33 + bash .buildkite/scripts/hardware_ci/run-intel-test.sh
34 + 'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh example'
35 + - label: "XPU V1 test"
36 + depends_on:
37 + - image-build-xpu
38 + timeout_in_minutes: 30
39 + optional: true
40 + device: intel_gpu
41 + no_plugin: true
42 + env:
43 + REGISTRY: "public.ecr.aws/q9t5s3a7"
44 + REPO: "vllm-ci-test-repo"
45 + source_file_dependencies:
46 + - .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
47 + - .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
48 + commands:
49 + - >-
50 + bash .buildkite/scripts/hardware_ci/run-intel-test.sh
51 + 'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh v1'
52 + - label: "XPU server test"
53 + depends_on:
54 + - image-build-xpu
55 + timeout_in_minutes: 30
56 + optional: true
57 + device: intel_gpu
58 + no_plugin: true
59 + env:
60 + REGISTRY: "public.ecr.aws/q9t5s3a7"
61 + REPO: "vllm-ci-test-repo"
62 + source_file_dependencies:
63 + - .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
64 + - .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
65 + commands:
66 + - >-
67 + bash .buildkite/scripts/hardware_ci/run-intel-test.sh
68 + 'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh server'
.buildkite/scripts/hardware_ci/run-intel-ci-test.sh new
+51
@@ -0,0 +1,51 @@
1 +#!/bin/bash
2 +
3 +set -euo pipefail
4 +
5 +test_suite="${1:-}"
6 +
7 +if [[ -z "${test_suite}" ]]; then
8 + echo "Usage: $0 <example|v1|server>" >&2
9 + exit 1
10 +fi
11 +
12 +case "${test_suite}" in
13 + example)
14 + pip install tblib==3.1.0
15 +
16 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 --enforce-eager
17 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 -O3 -cc.cudagraph_mode=NONE
18 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 --enforce-eager -tp 2 --distributed-executor-backend mp
19 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 --enforce-eager --attention-backend=TRITON_ATTN
20 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 --enforce-eager --quantization fp8
21 + python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --block-size 64 --enforce-eager --kv-cache-dtype fp8
22 + python3 examples/basic/offline_inference/generate.py --model nvidia/Llama-3.1-8B-Instruct-FP8 --block-size 64 --enforce-eager --quantization modelopt --kv-cache-dtype fp8 --attention-backend TRITON_ATTN --max-model-len 4096
23 + python3 examples/basic/offline_inference/generate.py --model superjob/Qwen3-4B-Instruct-2507-GPTQ-Int4 --block-size 64 --enforce-eager --max-model-len 8192
24 + python3 examples/basic/offline_inference/generate.py --model ibm-research/PowerMoE-3b --block-size 64 --enforce-eager -tp 2
25 + python3 examples/basic/offline_inference/generate.py --model ibm-research/PowerMoE-3b --block-size 64 --enforce-eager -tp 2 --enable-expert-parallel
26 + python3 examples/basic/offline_inference/generate.py --model superjob/Qwen3-4B-Instruct-2507-GPTQ-Int4 --max-model-len 8192
27 + ;;
28 + v1)
29 + cd tests
30 +
31 + pytest -v -s v1/core --ignore=v1/core/test_reset_prefix_cache_e2e.py --ignore=v1/core/test_scheduler_e2e.py
32 + pytest -v -s v1/engine --ignore=v1/engine/test_output_processor.py
33 + pytest -v -s v1/sample --ignore=v1/sample/test_logprobs.py --ignore=v1/sample/test_logprobs_e2e.py -k "not test_topk_only and not test_topp_only and not test_topk_and_topp"
34 + pytest -v -s v1/worker --ignore=v1/worker/test_gpu_model_runner.py --ignore=v1/worker/test_worker_memory_snapshot.py
35 + pytest -v -s v1/structured_output
36 + pytest -v -s v1/test_serial_utils.py
37 + pytest -v -s v1/spec_decode --ignore=v1/spec_decode/test_max_len.py --ignore=v1/spec_decode/test_speculators_eagle3.py --ignore=v1/spec_decode/test_acceptance_length.py
38 + pytest -v -s v1/kv_connector/unit --ignore=v1/kv_connector/unit/test_multi_connector.py --ignore=v1/kv_connector/unit/test_example_connector.py --ignore=v1/kv_connector/unit/test_lmcache_integration.py --ignore=v1/kv_connector/unit/test_hf3fs_client.py --ignore=v1/kv_connector/unit/test_hf3fs_connector.py --ignore=v1/kv_connector/unit/test_hf3fs_metadata_server.py --ignore=v1/kv_connector/unit/test_offloading_connector.py
39 + ;;
40 + server)
41 + pip install av
42 + cd tests
43 +
44 + pytest -v -s entrypoints/openai/chat_completion/test_audio_in_video.py
45 + pytest -v -s benchmarks/test_serve_cli.py
46 + ;;
47 + *)
48 + echo "Unknown Intel test suite: ${test_suite}" >&2
49 + exit 1
50 + ;;
51 +esac