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 4, 21:15 UTC
[XPU][CI] Add misc, engine and lora cases on Intel GPU in CI (#39887)
Signed-off-by: zengxian <xiangdong.zeng@intel.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>
xiangdong committed
Apr 21, 2026 at 22:30 UTC
b2a5518679b25751655dde881affb6ca76489b58
5 files changed
+228
-1
.buildkite/intel_jobs/engine_intel.yaml
new
+21
@@ -0,0 +1,21 @@
1
+group: Engine Intel
2
+depends_on:
3
+ - image-build-xpu
4
+steps:
5
+- label: Engine (1 GPU)
6
+ timeout_in_minutes: 30
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/engine/
16
+ - tests/v1/engine/
17
+ commands:
18
+ - >-
19
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
20
+ 'cd tests &&
21
+ pytest -v -s v1/engine --ignore v1/engine/test_preprocess_error_handling.py'
.buildkite/intel_jobs/kernels_intel.yaml
new
+21
@@ -0,0 +1,21 @@
1
+group: Kernels Intel
2
+depends_on:
3
+ - image-build-xpu
4
+steps:
5
+- label: vLLM IR Tests
6
+ timeout_in_minutes: 30
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/ir
16
+ - vllm/kernels
17
+ commands:
18
+ - >-
19
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
20
+ 'cd tests &&
21
+ pytest -v -s kernels/ir'
.buildkite/intel_jobs/lora_intel.yaml
new
+130
@@ -0,0 +1,130 @@
1
+group: LoRA Intel
2
+depends_on:
3
+ - image-build-xpu
4
+steps:
5
+- label: LoRA Runtime + Utils
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/lora
16
+ - tests/lora
17
+ commands:
18
+ - >-
19
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
20
+ 'cd tests &&
21
+ pytest -v -s lora/test_layers.py &&
22
+ pytest -v -s lora/test_lora_checkpoints.py &&
23
+ pytest -v -s lora/test_lora_functions.py &&
24
+ pytest -v -s lora/test_lora_huggingface.py &&
25
+ pytest -v -s lora/test_lora_manager.py &&
26
+ pytest -v -s lora/test_lora_utils.py &&
27
+ pytest -v -s lora/test_peft_helper.py &&
28
+ pytest -v -s lora/test_resolver.py &&
29
+ pytest -v -s lora/test_utils.py &&
30
+ (pytest -v -s lora/test_add_lora.py --deselect="tests/lora/test_add_lora.py::test_add_lora" || true) &&
31
+ (pytest -v -s lora/test_worker.py --deselect="tests/lora/test_worker.py::test_worker_apply_lora" || true)'
32
+
33
+- label: LoRA Fused/MoE Kernels
34
+ timeout_in_minutes: 45
35
+ device: intel_gpu
36
+ no_plugin: true
37
+ working_dir: "."
38
+ env:
39
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
40
+ REPO: "vllm-ci-test-repo"
41
+ VLLM_TEST_DEVICE: "xpu"
42
+ source_file_dependencies:
43
+ - vllm/lora
44
+ - tests/lora
45
+ commands:
46
+ - >-
47
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
48
+ 'cd tests &&
49
+ pytest -v -s lora/test_fused_moe_lora_kernel.py &&
50
+ pytest -v -s lora/test_moe_lora_align_sum.py'
51
+
52
+- label: LoRA Punica Kernels
53
+ timeout_in_minutes: 45
54
+ device: intel_gpu
55
+ no_plugin: true
56
+ working_dir: "."
57
+ env:
58
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
59
+ REPO: "vllm-ci-test-repo"
60
+ VLLM_TEST_DEVICE: "xpu"
61
+ source_file_dependencies:
62
+ - vllm/lora
63
+ - tests/lora
64
+ commands:
65
+ - >-
66
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
67
+ 'cd tests &&
68
+ set -o pipefail &&
69
+ pytest -v -s lora/test_punica_ops.py --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-2-2049-64-32-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype1-2-64000-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-1-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-1-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-8-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype0-3-2049-128-8-16]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-8-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype1-1-2049-256-128-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-3-64256-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-2-29696-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-3-49408-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-2-16384-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype0-2-51328-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype1-1-102656-32-4-4]"'
70
+
71
+- label: LoRA Punica FP8/XPU Ops
72
+ timeout_in_minutes: 45
73
+ device: intel_gpu
74
+ no_plugin: true
75
+ working_dir: "."
76
+ env:
77
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
78
+ REPO: "vllm-ci-test-repo"
79
+ VLLM_TEST_DEVICE: "xpu"
80
+ source_file_dependencies:
81
+ - vllm/lora
82
+ - tests/lora
83
+ commands:
84
+ - >-
85
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
86
+ 'cd tests &&
87
+ pytest -v -s lora/test_punica_ops_fp8.py &&
88
+ pytest -v -s lora/test_punica_xpu_ops.py'
89
+
90
+- label: LoRA Models
91
+ timeout_in_minutes: 45
92
+ device: intel_gpu
93
+ no_plugin: true
94
+ working_dir: "."
95
+ env:
96
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
97
+ REPO: "vllm-ci-test-repo"
98
+ VLLM_TEST_DEVICE: "xpu"
99
+ source_file_dependencies:
100
+ - vllm/lora
101
+ - tests/lora
102
+ commands:
103
+ - >-
104
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
105
+ 'cd tests &&
106
+ (pytest -v -s lora/test_mixtral.py --deselect="tests/lora/test_mixtral.py::test_mixtral_lora[4]" || true) &&
107
+ pytest -v -s lora/test_quant_model.py --deselect="tests/lora/test_quant_model.py::test_quant_model_lora[model0]" --deselect="tests/lora/test_quant_model.py::test_quant_model_lora[model1]" --deselect="tests/lora/test_quant_model.py::test_quant_model_tp_equality[model0]" &&
108
+ pytest -v -s lora/test_qwen35_densemodel_lora.py &&
109
+ pytest -v -s lora/test_transformers_model.py'
110
+
111
+- label: LoRA Multimodal
112
+ timeout_in_minutes: 45
113
+ device: intel_gpu
114
+ no_plugin: true
115
+ working_dir: "."
116
+ env:
117
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
118
+ REPO: "vllm-ci-test-repo"
119
+ VLLM_TEST_DEVICE: "xpu"
120
+ source_file_dependencies:
121
+ - vllm/lora
122
+ - tests/lora
123
+ commands:
124
+ - >-
125
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
126
+ 'cd tests &&
127
+ pytest -v -s lora/test_default_mm_loras.py &&
128
+ pytest -v -s lora/test_qwen3_unembed.py &&
129
+ pytest -v -s lora/test_qwenvl.py &&
130
+ pytest -v -s lora/test_whisper.py'
.buildkite/intel_jobs/misc_intel.yaml
new
+55
@@ -0,0 +1,55 @@
1
+group: Miscellaneous Intel
2
+depends_on:
3
+ - image-build-xpu
4
+steps:
5
+- label: V1 Core + KV + Metrics
6
+ timeout_in_minutes: 30
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/
16
+ - tests/v1/core
17
+ - tests/v1/executor
18
+ - tests/v1/kv_offload
19
+ - tests/v1/worker
20
+ - tests/v1/kv_connector/unit
21
+ - tests/v1/metrics
22
+ - tests/entrypoints/openai/correctness/test_lmeval.py
23
+ commands:
24
+ - >-
25
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
26
+ 'pip install -r requirements/kv_connectors.txt &&
27
+ export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
28
+ cd tests &&
29
+ pytest -v -s v1/executor'
30
+
31
+- label: V1 Sample + Logits
32
+ timeout_in_minutes: 30
33
+ device: intel_gpu
34
+ no_plugin: true
35
+ working_dir: "."
36
+ env:
37
+ REGISTRY: "public.ecr.aws/q9t5s3a7"
38
+ REPO: "vllm-ci-test-repo"
39
+ VLLM_TEST_DEVICE: "xpu"
40
+ source_file_dependencies:
41
+ - vllm/
42
+ - tests/v1/sample
43
+ - tests/v1/logits_processors
44
+ - tests/v1/test_oracle.py
45
+ - tests/v1/test_request.py
46
+ - tests/v1/test_outputs.py
47
+ commands:
48
+ - >-
49
+ bash .buildkite/scripts/hardware_ci/run-intel-test.sh
50
+ 'export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
51
+ cd tests &&
52
+ pytest -v -s v1/logits_processors &&
53
+ pytest -v -s v1/test_oracle.py &&
54
+ pytest -v -s v1/test_request.py &&
55
+ pytest -v -s v1/test_outputs.py'
.buildkite/scripts/hardware_ci/run-intel-test.sh
+1
-1
@@ -240,7 +240,6 @@ fi
240
cleanup_docker
241
242
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY"
243
-aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 936637512419.dkr.ecr.us-east-1.amazonaws.com
243
244
# --- Build or pull test image ---
245
IMAGE="${IMAGE_TAG_XPU:-${image_name}}"
@@ -283,6 +282,7 @@ docker run \
282
--ipc=host \
283
--privileged \
284
-v /dev/dri/by-path:/dev/dri/by-path \
285
+ -v ${HOME}/.cache/huggingface:/root/.cache/huggingface \
286
--entrypoint="" \
287
-e "HF_TOKEN=${HF_TOKEN:-}" \
288
-e "ZE_AFFINITY_MASK=${ZE_AFFINITY_MASK:-}" \