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

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 )