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, 17:30 UTC
[CI] Split disaggregated tests into own test-area (#40623)
Signed-off-by: NickLucche <nlucches@redhat.com>
Nicolò Lucchesi committed
Apr 23, 2026 at 17:20 UTC
8824f50f1f1475fb07cc0c20da260e2e5a355cbb
3 files changed
+100
-86
.buildkite/test_areas/disaggregated.yaml
new
+98
@@ -0,0 +1,98 @@
1
+group: Disaggregated
2
+depends_on:
3
+ - image-build
4
+steps:
5
+- label: Distributed NixlConnector PD accuracy (4 GPUs)
6
+ timeout_in_minutes: 30
7
+ working_dir: "/vllm-workspace/tests"
8
+ num_devices: 4
9
+ source_file_dependencies:
10
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
11
+ - tests/v1/kv_connector/nixl_integration/
12
+ commands:
13
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
14
+ - bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
15
+- label: Distributed FlashInfer NixlConnector PD accuracy (4 GPUs)
16
+ timeout_in_minutes: 30
17
+ working_dir: "/vllm-workspace/tests"
18
+ num_devices: 4
19
+ source_file_dependencies:
20
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
21
+ - tests/v1/kv_connector/nixl_integration/
22
+ commands:
23
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
24
+ - FLASHINFER=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
25
+
26
+- label: DP EP Distributed NixlConnector PD accuracy tests (4 GPUs)
27
+ timeout_in_minutes: 30
28
+ working_dir: "/vllm-workspace/tests"
29
+ num_devices: 4
30
+ source_file_dependencies:
31
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
32
+ - tests/v1/kv_connector/nixl_integration/
33
+ commands:
34
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
35
+ - DP_EP=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
36
+
37
+- label: CrossLayer KV layout Distributed NixlConnector PD accuracy tests (4 GPUs)
38
+ timeout_in_minutes: 30
39
+ working_dir: "/vllm-workspace/tests"
40
+ num_devices: 4
41
+ source_file_dependencies:
42
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
43
+ - tests/v1/kv_connector/nixl_integration/
44
+ commands:
45
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
46
+ - CROSS_LAYERS_BLOCKS=True bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
47
+
48
+- label: Hybrid SSM NixlConnector PD accuracy tests (4 GPUs)
49
+ timeout_in_minutes: 20
50
+ working_dir: "/vllm-workspace/tests"
51
+ num_devices: 4
52
+ source_file_dependencies:
53
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
54
+ - tests/v1/kv_connector/nixl_integration/
55
+ commands:
56
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
57
+ - HYBRID_SSM=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
58
+
59
+- label: MultiConnector (Nixl+Offloading) PD accuracy (2 GPUs)
60
+ timeout_in_minutes: 30
61
+ working_dir: "/vllm-workspace/tests"
62
+ num_devices: 2
63
+ source_file_dependencies:
64
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
65
+ - vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
66
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
67
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
68
+ - tests/v1/kv_connector/nixl_integration/
69
+ commands:
70
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
71
+ - bash v1/kv_connector/nixl_integration/run_multi_connector_accuracy_test.sh
72
+
73
+- label: NixlConnector PD + Spec Decode acceptance (2 GPUs)
74
+ timeout_in_minutes: 30
75
+ device: a100
76
+ working_dir: "/vllm-workspace/tests"
77
+ num_devices: 2
78
+ source_file_dependencies:
79
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
80
+ - vllm/v1/worker/kv_connector_model_runner_mixin.py
81
+ - tests/v1/kv_connector/nixl_integration/
82
+ commands:
83
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
84
+ - bash v1/kv_connector/nixl_integration/spec_decode_acceptance_test.sh
85
+
86
+- label: MultiConnector (Nixl+Offloading) PD edge cases (2 GPUs)
87
+ timeout_in_minutes: 30
88
+ working_dir: "/vllm-workspace/tests"
89
+ num_devices: 2
90
+ source_file_dependencies:
91
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
92
+ - vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
93
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
94
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
95
+ - tests/v1/kv_connector/nixl_integration/
96
+ commands:
97
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
98
+ - bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
\ No newline at end of file
.buildkite/test_areas/distributed.yaml
-85
@@ -226,91 +226,6 @@ steps:
226
commands:
227
- ./.buildkite/scripts/run-multi-node-test.sh /vllm-workspace/tests 2 2 $IMAGE_TAG "VLLM_TEST_SAME_HOST=0 torchrun --nnodes 2 --nproc-per-node=2 --rdzv_backend=c10d --rdzv_endpoint=192.168.10.10 distributed/test_same_node.py | grep 'Same node test passed' && NUM_NODES=2 torchrun --nnodes 2 --nproc-per-node=2 --rdzv_backend=c10d --rdzv_endpoint=192.168.10.10 distributed/test_node_count.py | grep 'Node count test passed' && python3 ../examples/offline_inference/data_parallel.py -dp=2 -tp=1 --dp-num-nodes=2 --dp-node-rank=0 --dp-master-addr=192.168.10.10 --dp-master-port=12345 --enforce-eager --trust-remote-code && VLLM_MULTI_NODE=1 pytest -v -s distributed/test_multi_node_assignment.py && VLLM_MULTI_NODE=1 pytest -v -s distributed/test_pipeline_parallel.py" "VLLM_TEST_SAME_HOST=0 torchrun --nnodes 2 --nproc-per-node=2 --rdzv_backend=c10d --rdzv_endpoint=192.168.10.10 distributed/test_same_node.py | grep 'Same node test passed' && NUM_NODES=2 torchrun --nnodes 2 --nproc-per-node=2 --rdzv_backend=c10d --rdzv_endpoint=192.168.10.10 distributed/test_node_count.py | grep 'Node count test passed' && python3 ../examples/offline_inference/data_parallel.py -dp=2 -tp=1 --dp-num-nodes=2 --dp-node-rank=1 --dp-master-addr=192.168.10.10 --dp-master-port=12345 --enforce-eager --trust-remote-code"
228
229
-- label: Distributed NixlConnector PD accuracy (4 GPUs)
230
- timeout_in_minutes: 30
231
- working_dir: "/vllm-workspace/tests"
232
- num_devices: 4
233
- source_file_dependencies:
234
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
235
- - tests/v1/kv_connector/nixl_integration/
236
- commands:
237
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
238
- - bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
239
-
240
-- label: DP EP Distributed NixlConnector PD accuracy tests (4 GPUs)
241
- timeout_in_minutes: 30
242
- working_dir: "/vllm-workspace/tests"
243
- num_devices: 4
244
- source_file_dependencies:
245
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
246
- - tests/v1/kv_connector/nixl_integration/
247
- commands:
248
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
249
- - DP_EP=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
250
-
251
-- label: CrossLayer KV layout Distributed NixlConnector PD accuracy tests (4 GPUs)
252
- timeout_in_minutes: 30
253
- working_dir: "/vllm-workspace/tests"
254
- num_devices: 4
255
- source_file_dependencies:
256
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
257
- - tests/v1/kv_connector/nixl_integration/
258
- commands:
259
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
260
- - CROSS_LAYERS_BLOCKS=True bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
261
-
262
-- label: Hyrbid SSM NixlConnector PD accuracy tests (4 GPUs)
263
- timeout_in_minutes: 20
264
- working_dir: "/vllm-workspace/tests"
265
- num_devices: 4
266
- source_file_dependencies:
267
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
268
- - tests/v1/kv_connector/nixl_integration/
269
- commands:
270
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
271
- - HYBRID_SSM=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
272
-
273
-- label: MultiConnector (Nixl+Offloading) PD accuracy (2 GPUs)
274
- timeout_in_minutes: 30
275
- working_dir: "/vllm-workspace/tests"
276
- num_devices: 2
277
- source_file_dependencies:
278
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
279
- - vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
280
- - vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
281
- - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
282
- - tests/v1/kv_connector/nixl_integration/
283
- commands:
284
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
285
- - bash v1/kv_connector/nixl_integration/run_multi_connector_accuracy_test.sh
286
-
287
-- label: NixlConnector PD + Spec Decode acceptance (2 GPUs)
288
- timeout_in_minutes: 30
289
- device: a100
290
- working_dir: "/vllm-workspace/tests"
291
- num_devices: 2
292
- source_file_dependencies:
293
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
294
- - vllm/v1/worker/kv_connector_model_runner_mixin.py
295
- - tests/v1/kv_connector/nixl_integration/
296
- commands:
297
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
298
- - bash v1/kv_connector/nixl_integration/spec_decode_acceptance_test.sh
299
-
300
-- label: MultiConnector (Nixl+Offloading) PD edge cases (2 GPUs)
301
- timeout_in_minutes: 30
302
- working_dir: "/vllm-workspace/tests"
303
- num_devices: 2
304
- source_file_dependencies:
305
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
306
- - vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
307
- - vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
308
- - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
309
- - tests/v1/kv_connector/nixl_integration/
310
- commands:
311
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
312
- - bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
313
-
229
- label: Pipeline + Context Parallelism (4 GPUs)
230
timeout_in_minutes: 60
231
working_dir: "/vllm-workspace/tests"
tests/v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
+2
-1
@@ -12,7 +12,6 @@ tp_configs=(
12
"GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=deepseek-ai/deepseek-vl2-tiny" # MLA case
13
"GPU_MEMORY_UTILIZATION=0.8 PREFILLER_TP_SIZE=1 DECODER_TP_SIZE=2 MODEL_NAMES=deepseek-ai/deepseek-vl2-tiny"
14
"GPU_MEMORY_UTILIZATION=0.8 PREFILLER_TP_SIZE=2 DECODER_TP_SIZE=1 MODEL_NAMES=deepseek-ai/deepseek-vl2-tiny"
15
- "GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=google/gemma-3-4b-it VLLM_SERVE_EXTRA_ARGS=--max-model-len,8192" # SW model
15
)
16
dp_ep_configs=(
17
"DP_EP=1 GPU_MEMORY_UTILIZATION=0.8 PREFILLER_TP_SIZE=1 DECODER_TP_SIZE=2 MODEL_NAMES=deepseek-ai/deepseek-vl2-tiny" # MLA+P-TP1, D-DPEP=2 (TP=1)
@@ -24,6 +23,8 @@ hybrid_ssm_configs=(
23
"VLLM_SSM_CONV_STATE_LAYOUT=DS ENABLE_HMA_FLAG=1 PREFILLER_TP_SIZE=2 DECODER_TP_SIZE=2 GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=ibm-granite/granite-4.0-h-tiny VLLM_SERVE_EXTRA_ARGS=--max-model-len,8192,--trust-remote-code,--no-async-scheduling"
24
)
25
sw_attn_configs=(
26
+ # NOTE: gemma3 does not work with FlashInfer
27
+ "GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=google/gemma-3-4b-it VLLM_SERVE_EXTRA_ARGS=--max-model-len,8192" # SW model
28
"ENABLE_HMA_FLAG=1 GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=google/gemma-3-4b-it PREFILLER_TP_SIZE=1 DECODER_TP_SIZE=2 VLLM_SERVE_EXTRA_ARGS=--max-model-len,8192"
29
"ENABLE_HMA_FLAG=1 GPU_MEMORY_UTILIZATION=0.8 MODEL_NAMES=google/gemma-3-4b-it PREFILLER_TP_SIZE=2 DECODER_TP_SIZE=1 VLLM_SERVE_EXTRA_ARGS=--max-model-len,8192"
30
)