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