A high-throughput and memory-efficient inference and serving engine for LLMs
[XPU][CI] add model runner v2 into CI (#44650)
Signed-off-by: zhenwei-intel <zhenwei.liu@intel.com>
liuzhenwei committed
Jun 18, 2026 at 08:28 UTC
2959a9273a96ea7f40ab216ebf8e8c9826f716c1
2 files changed
+62
-2
.buildkite/intel_jobs/model_runner_v2_intel.yaml
new
+54
@@ -0,0 +1,54 @@
1
+group: Model Runner V2 Intel
2
+depends_on:
3
+ - image-build-xpu
4
+steps:
5
+- label: Model Runner V2 Core Tests (Intel)
6
+ timeout_in_minutes: 45
7
+ device: intel_gpu
8
+ no_plugin: true
9
+ working_dir: "."
10
+ env:
11
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
12
+ REPO: "vllm-ci-test-repo"
13
+ VLLM_TEST_DEVICE: "xpu"
14
+ source_file_dependencies:
15
+ - vllm/v1/worker/gpu/
16
+ - vllm/v1/worker/gpu_worker.py
17
+ - vllm/v1/core/sched/
18
+ - vllm/v1/attention/
19
+ - tests/v1/engine/test_llm_engine.py
20
+ - tests/v1/e2e/
21
+ commands:
22
+ - >-
23
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
24
+ 'export VLLM_USE_V2_MODEL_RUNNER=1 &&
25
+ cd tests &&
26
+ pytest -v -s v1/engine/test_llm_engine.py -k "not test_engine_metrics" &&
27
+ ENFORCE_EAGER=1 pytest -v -s v1/e2e/general/test_async_scheduling.py -k "not ngram" &&
28
+ pytest -v -s v1/e2e/general/test_min_tokens.py'
29
+
30
+- label: Model Runner V2 Examples (Intel)
31
+ timeout_in_minutes: 45
32
+ device: intel_gpu
33
+ no_plugin: true
34
+ working_dir: "."
35
+ env:
36
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
37
+ REPO: "vllm-ci-test-repo"
38
+ VLLM_TEST_DEVICE: "xpu"
39
+ source_file_dependencies:
40
+ - vllm/v1/worker/gpu/
41
+ - vllm/v1/core/sched/
42
+ - vllm/v1/worker/gpu_worker.py
43
+ - examples/basic/offline_inference/
44
+ - examples/generate/multimodal/
45
+ - examples/features/
46
+ commands:
47
+ - >-
48
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
49
+ 'export VLLM_USE_V2_MODEL_RUNNER=1 &&
50
+ cd examples &&
51
+ python3 basic/offline_inference/chat.py &&
52
+ python3 basic/offline_inference/generate.py --model facebook/opt-125m &&
53
+ python3 generate/multimodal/vision_language_offline.py --seed 0 &&
54
+ python3 features/automatic_prefix_caching/prefix_caching_offline.py'
.buildkite/scripts/hardware_ci/run-intel-test.sh
+8
-2
@@ -243,8 +243,10 @@ container_name="xpu_${BUILDKITE_COMMIT}_$(tr -dc A-Za-z0-9 < /dev/urandom | head
243
244
# ---- Command source selection ----
245
commands=""
246
+commands_source=""
247
if [[ -n "${VLLM_TEST_COMMANDS:-}" ]]; then
248
commands="${VLLM_TEST_COMMANDS}"
249
+ commands_source="env"
250
echo "Commands sourced from VLLM_TEST_COMMANDS (quoting preserved)"
251
elif [[ $# -gt 0 ]]; then
252
all_yaml=true
@@ -303,8 +305,12 @@ if [[ -z "$commands" ]]; then
305
fi
306
307
echo "Raw commands: $commands"
306
-commands=$(re_quote_pytest_markers "$commands")
307
-echo "After re-quoting: $commands"
308
+if [[ "$commands_source" != "env" ]]; then
309
+ commands=$(re_quote_pytest_markers "$commands")
310
+ echo "After re-quoting: $commands"
311
+else
312
+ echo "Skipping re-quoting for VLLM_TEST_COMMANDS input"
313
+fi
314
commands=$(apply_intel_test_overrides "$commands")
315
echo "Final commands: $commands"
316