@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 3b602cdea7
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 15, 11:00 UTC

AMD conditional all test execution // new test groups (#17556)

Signed-off-by: Alexei V. Ivanov <alexei.ivanov@amd.com> Signed-off-by: Yida Wu <yidawu@alumni.cmu.edu>

Alexei-V-Ivanov-AMD committed May 9, 2025 at 17:35 UTC 3b602cdea70f80132a70e051804a1b62cfae925e
3 files changed +69 -25
.buildkite/scripts/hardware_ci/run-amd-test.sh
+16
@@ -3,6 +3,9 @@
3 # This script runs test inside the corresponding ROCm docker container.
4 set -o pipefail
5
6 +# Export Python path
7 +export PYTHONPATH=".."
8 +
9 # Print ROCm version
10 echo "--- Confirming Clean Initial State"
11 while true; do
@@ -74,6 +77,15 @@ HF_MOUNT="/root/.cache/huggingface"
77
78 commands=$@
79 echo "Commands:$commands"
80 +
81 +if [[ $commands == *"pytest -v -s basic_correctness/test_basic_correctness.py"* ]]; then
82 + commands=${commands//"pytest -v -s basic_correctness/test_basic_correctness.py"/"VLLM_USE_TRITON_FLASH_ATTN=0 pytest -v -s basic_correctness/test_basic_correctness.py"}
83 +fi
84 +
85 +if [[ $commands == *"pytest -v -s compile/test_basic_correctness.py"* ]]; then
86 + commands=${commands//"pytest -v -s compile/test_basic_correctness.py"/"VLLM_USE_TRITON_FLASH_ATTN=0 pytest -v -s compile/test_basic_correctness.py"}
87 +fi
88 +
89 #ignore certain kernels tests
90 if [[ $commands == *" kernels/core"* ]]; then
91 commands="${commands} \
@@ -161,6 +173,8 @@ fi
173
174
175 PARALLEL_JOB_COUNT=8
176 +MYPYTHONPATH=".."
177 +
178 # check if the command contains shard flag, we will run all shards in parallel because the host have 8 GPUs.
179 if [[ $commands == *"--shard-id="* ]]; then
180 # assign job count as the number of shards used
@@ -181,6 +195,7 @@ if [[ $commands == *"--shard-id="* ]]; then
195 -e AWS_SECRET_ACCESS_KEY \
196 -v "${HF_CACHE}:${HF_MOUNT}" \
197 -e "HF_HOME=${HF_MOUNT}" \
198 + -e "PYTHONPATH=${MYPYTHONPATH}" \
199 --name "${container_name}_${GPU}" \
200 "${image_name}" \
201 /bin/bash -c "${commands_gpu}" \
@@ -211,6 +226,7 @@ else
226 -e AWS_SECRET_ACCESS_KEY \
227 -v "${HF_CACHE}:${HF_MOUNT}" \
228 -e "HF_HOME=${HF_MOUNT}" \
229 + -e "PYTHONPATH=${MYPYTHONPATH}" \
230 --name "${container_name}" \
231 "${image_name}" \
232 /bin/bash -c "${commands}"
.buildkite/test-pipeline.yaml
+51 -25
@@ -32,6 +32,7 @@ steps:
32 ##### fast check tests #####
33
34 - label: Documentation Build # 2min
35 + mirror_hardwares: [amdexperimental]
36 working_dir: "/vllm-workspace/test_docs/docs"
37 fast_check: true
38 no_gpu: True
@@ -42,6 +43,7 @@ steps:
43 - grep \"sig sig-object py\" build/html/api/vllm/vllm.sampling_params.html
44
45 - label: Async Engine, Inputs, Utils, Worker Test # 24min
46 + mirror_hardwares: [amdexperimental]
47 source_file_dependencies:
48 - vllm/
49 - tests/mq_llm_engine
@@ -62,6 +64,7 @@ steps:
64 - pytest -v -s worker # Worker
65
66 - label: Python-only Installation Test
67 + mirror_hardwares: [amdexperimental]
68 source_file_dependencies:
69 - tests/standalone_tests/python_only_compile.sh
70 - setup.py
@@ -69,7 +72,7 @@ steps:
72 - bash standalone_tests/python_only_compile.sh
73
74 - label: Basic Correctness Test # 30min
72 - #mirror_hardwares: [amd]
75 + mirror_hardwares: [amdexperimental, amdproduction]
76 fast_check: true
77 torch_nightly: true
78 source_file_dependencies:
@@ -86,6 +89,7 @@ steps:
89 - VLLM_TEST_ENABLE_ARTIFICIAL_PREEMPT=1 pytest -v -s basic_correctness/test_preemption.py
90
91 - label: Chunked Prefill Test
92 + mirror_hardwares: [amdexperimental]
93 source_file_dependencies:
94 - vllm/
95 - tests/basic_correctness/test_chunked_prefill
@@ -94,7 +98,7 @@ steps:
98 - VLLM_ATTENTION_BACKEND=FLASH_ATTN pytest -v -s basic_correctness/test_chunked_prefill.py
99
100 - label: Core Test # 10min
97 - mirror_hardwares: [amd]
101 + mirror_hardwares: [amdexperimental, amdproduction]
102 fast_check: true
103 source_file_dependencies:
104 - vllm/core
@@ -104,10 +108,10 @@ steps:
108 - pytest -v -s core
109
110 - label: Entrypoints Test # 40min
111 + mirror_hardwares: [amdexperimental]
112 working_dir: "/vllm-workspace/tests"
113 fast_check: true
114 torch_nightly: true
110 - #mirror_hardwares: [amd]
115 source_file_dependencies:
116 - vllm/
117 - tests/entrypoints/llm
@@ -126,6 +130,7 @@ steps:
130 - VLLM_USE_V1=0 pytest -v -s entrypoints/offline_mode # Needs to avoid interference with other tests
131
132 - label: Distributed Tests (4 GPUs) # 10min
133 + mirror_hardwares: [amdexperimental]
134 working_dir: "/vllm-workspace/tests"
135 num_gpus: 4
136 source_file_dependencies:
@@ -158,7 +163,7 @@ steps:
163 - popd
164
165 - label: Metrics, Tracing Test # 10min
161 - mirror_hardwares: [amd]
166 + mirror_hardwares: [amdexperimental, amdproduction]
167 num_gpus: 2
168 source_file_dependencies:
169 - vllm/
@@ -172,7 +177,7 @@ steps:
177 ##### 1 GPU test #####
178
179 - label: Regression Test # 5min
175 - #mirror_hardwares: [amd]
180 + mirror_hardwares: [amdexperimental, amdproduction]
181 source_file_dependencies:
182 - vllm/
183 - tests/test_regression
@@ -182,7 +187,7 @@ steps:
187 working_dir: "/vllm-workspace/tests" # optional
188
189 - label: Engine Test # 10min
185 - mirror_hardwares: [amd]
190 + mirror_hardwares: [amdexperimental, amdproduction]
191 source_file_dependencies:
192 - vllm/
193 - tests/engine
@@ -196,7 +201,7 @@ steps:
201 - pytest -v -s tokenization
202
203 - label: V1 Test
199 - #mirror_hardwares: [amd]
204 + mirror_hardwares: [amdexperimental]
205 source_file_dependencies:
206 - vllm/
207 - tests/v1
@@ -221,8 +226,8 @@ steps:
226 - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
227
228 - label: Examples Test # 25min
229 + mirror_hardwares: [amdexperimental]
230 working_dir: "/vllm-workspace/examples"
225 - #mirror_hardwares: [amd]
231 source_file_dependencies:
232 - vllm/entrypoints
233 - examples/
@@ -246,7 +251,7 @@ steps:
251 - VLLM_USE_V1=0 python3 offline_inference/profiling.py --model facebook/opt-125m run_num_steps --num-steps 2
252
253 - label: Prefix Caching Test # 9min
249 - mirror_hardwares: [amd]
254 + mirror_hardwares: [amdexperimental, amdproduction]
255 source_file_dependencies:
256 - vllm/
257 - tests/prefix_caching
@@ -254,6 +259,7 @@ steps:
259 - pytest -v -s prefix_caching
260
261 - label: Samplers Test # 36min
262 + mirror_hardwares: [amdexperimental]
263 source_file_dependencies:
264 - vllm/model_executor/layers
265 - vllm/sampling_metadata.py
@@ -264,7 +270,7 @@ steps:
270 - VLLM_USE_FLASHINFER_SAMPLER=1 pytest -v -s samplers
271
272 - label: LogitsProcessor Test # 5min
267 - mirror_hardwares: [amd]
273 + mirror_hardwares: [amdexperimental, amdproduction]
274 source_file_dependencies:
275 - vllm/model_executor/layers
276 - vllm/model_executor/guided_decoding
@@ -275,6 +281,7 @@ steps:
281 - pytest -v -s model_executor/test_guided_processors.py
282
283 - label: Speculative decoding tests # 40min
284 + mirror_hardwares: [amdexperimental]
285 source_file_dependencies:
286 - vllm/spec_decode
287 - tests/spec_decode
@@ -285,7 +292,7 @@ steps:
292 - pytest -v -s spec_decode/e2e/test_eagle_correctness.py
293
294 - label: LoRA Test %N # 15min each
288 - #mirror_hardwares: [amd]
295 + mirror_hardwares: [amdexperimental]
296 source_file_dependencies:
297 - vllm/lora
298 - tests/lora
@@ -293,6 +300,7 @@ steps:
300 parallelism: 4
301
302 - label: PyTorch Compilation Unit Tests
303 + mirror_hardwares: [amdexperimental, amdproduction]
304 torch_nightly: true
305 source_file_dependencies:
306 - vllm/
@@ -303,6 +311,7 @@ steps:
311 - pytest -v -s compile/test_sequence_parallelism.py
312
313 - label: PyTorch Fullgraph Smoke Test # 9min
314 + mirror_hardwares: [amdexperimental, amdproduction]
315 torch_nightly: true
316 source_file_dependencies:
317 - vllm/
@@ -314,6 +323,7 @@ steps:
323 - pytest -v -s compile/piecewise/test_toy_llama.py
324
325 - label: PyTorch Fullgraph Test # 18min
326 + mirror_hardwares: [amdexperimental, amdproduction]
327 torch_nightly: true
328 source_file_dependencies:
329 - vllm/
@@ -322,7 +332,7 @@ steps:
332 - pytest -v -s compile/test_full_graph.py
333
334 - label: Kernels Core Operation Test
325 - mirror_hardwares: [amd]
335 + mirror_hardwares: [amdexperimental, amdproduction]
336 source_file_dependencies:
337 - csrc/
338 - tests/kernels/core
@@ -330,7 +340,7 @@ steps:
340 - pytest -v -s kernels/core
341
342 - label: Kernels Attention Test %N
333 - mirror_hardwares: [amd]
343 + mirror_hardwares: [amdexperimental, amdproduction]
344 source_file_dependencies:
345 - csrc/attention/
346 - vllm/attention
@@ -341,7 +351,7 @@ steps:
351 parallelism: 2
352
353 - label: Kernels Quantization Test %N
344 - mirror_hardwares: [amd]
354 + mirror_hardwares: [amdexperimental, amdproduction]
355 source_file_dependencies:
356 - csrc/quantization/
357 - vllm/model_executor/layers/quantization
@@ -351,7 +361,7 @@ steps:
361 parallelism: 2
362
363 - label: Kernels MoE Test
354 - #mirror_hardwares: [amd]
364 + mirror_hardwares: [amdexperimental]
365 source_file_dependencies:
366 - csrc/moe/
367 - tests/kernels/moe
@@ -360,7 +370,7 @@ steps:
370 - pytest -v -s kernels/moe
371
372 - label: Kernels Mamba Test
363 - #mirror_hardwares: [amd]
373 + mirror_hardwares: [amdexperimental]
374 source_file_dependencies:
375 - csrc/mamba/
376 - tests/kernels/mamba
@@ -368,7 +378,7 @@ steps:
378 - pytest -v -s kernels/mamba
379
380 - label: Tensorizer Test # 11min
371 - # mirror_hardwares: [amd]
381 + mirror_hardwares: [amdexperimental]
382 soft_fail: true
383 source_file_dependencies:
384 - vllm/model_executor/model_loader
@@ -379,14 +389,15 @@ steps:
389 - pytest -v -s tensorizer_loader
390
391 - label: Benchmarks # 9min
392 + mirror_hardwares: [amdexperimental, amdproduction]
393 working_dir: "/vllm-workspace/.buildkite"
383 - mirror_hardwares: [amd]
394 source_file_dependencies:
395 - benchmarks/
396 commands:
397 - bash scripts/run-benchmarks.sh
398
399 - label: Benchmarks CLI Test # 10min
400 + mirror_hardwares: [amdexperimental, amdproduction]
401 source_file_dependencies:
402 - vllm/
403 - tests/benchmarks/
@@ -394,6 +405,7 @@ steps:
405 - pytest -v -s benchmarks/
406
407 - label: Quantization Test
408 + mirror_hardwares: [amdexperimental]
409 source_file_dependencies:
410 - csrc/
411 - vllm/model_executor/layers/quantization
@@ -402,6 +414,7 @@ steps:
414 - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization
415
416 - label: LM Eval Small Models # 53min
417 + mirror_hardwares: [amdexperimental]
418 working_dir: "/vllm-workspace/.buildkite/lm-eval-harness"
419 source_file_dependencies:
420 - csrc/
@@ -411,6 +424,7 @@ steps:
424 - pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-small.txt --tp-size=1
425
426 - label: OpenAI API correctness
427 + mirror_hardwares: [amdexperimental]
428 source_file_dependencies:
429 - csrc/
430 - vllm/entrypoints/openai/
@@ -419,6 +433,7 @@ steps:
433 - pytest -s entrypoints/openai/correctness/
434
435 - label: Encoder Decoder tests # 5min
436 + mirror_hardwares: [amdexperimental]
437 source_file_dependencies:
438 - vllm/
439 - tests/encoder_decoder
@@ -426,8 +441,8 @@ steps:
441 - pytest -v -s encoder_decoder
442
443 - label: OpenAI-Compatible Tool Use # 20 min
444 + mirror_hardwares: [amdexperimental]
445 fast_check: false
430 - #mirror_hardwares: [ amd ]
446 source_file_dependencies:
447 - vllm/
448 - tests/tool_use
@@ -439,6 +454,7 @@ steps:
454 ##### models test #####
455
456 - label: Basic Models Test # 24min
457 + mirror_hardwares: [amdexperimental]
458 torch_nightly: true
459 source_file_dependencies:
460 - vllm/
@@ -454,7 +470,7 @@ steps:
470 - VLLM_USE_V1=0 pytest -v -s models/test_initialization.py -k 'plamo2'
471
472 - label: Language Models Test (Standard)
457 - #mirror_hardwares: [amd]
473 + mirror_hardwares: [amdexperimental]
474 source_file_dependencies:
475 - vllm/
476 - tests/models/language
@@ -464,6 +480,7 @@ steps:
480 - pytest -v -s models/language -m core_model
481
482 - label: Language Models Test (Extended)
483 + mirror_hardwares: [amdexperimental]
484 optional: true
485 source_file_dependencies:
486 - vllm/
@@ -474,7 +491,7 @@ steps:
491 - pytest -v -s models/language -m 'not core_model'
492
493 - label: Multi-Modal Models Test (Standard)
477 - #mirror_hardwares: [amd]
494 + mirror_hardwares: [amdexperimental]
495 source_file_dependencies:
496 - vllm/
497 - tests/models/multimodal
@@ -485,6 +502,7 @@ steps:
502 - cd .. && pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model # Otherwise, mp_method="spawn" doesn't work
503
504 - label: Multi-Modal Models Test (Extended) 1
505 + mirror_hardwares: [amdexperimental]
506 optional: true
507 source_file_dependencies:
508 - vllm/
@@ -494,6 +512,7 @@ steps:
512 - pytest -v -s --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/processing models/multimodal -m 'not core_model'
513
514 - label: Multi-Modal Models Test (Extended) 2
515 + mirror_hardwares: [amdexperimental]
516 optional: true
517 source_file_dependencies:
518 - vllm/
@@ -503,6 +522,7 @@ steps:
522 - pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=0) and not core_model'
523
524 - label: Multi-Modal Models Test (Extended) 3
525 + mirror_hardwares: [amdexperimental]
526 optional: true
527 source_file_dependencies:
528 - vllm/
@@ -512,7 +532,7 @@ steps:
532 - pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=1) and not core_model'
533
534 - label: Quantized Models Test
515 - #mirror_hardwares: [amd]
535 + mirror_hardwares: [amdexperimental]
536 source_file_dependencies:
537 - vllm/model_executor/layers/quantization
538 - tests/models/quantization
@@ -521,7 +541,7 @@ steps:
541
542 # This test is used only in PR development phase to test individual models and should never run on main
543 - label: Custom Models Test
524 - mirror_hardwares: [amd]
544 + mirror_hardwares: [amdexperimental, amdproduction]
545 optional: true
546 commands:
547 - echo 'Testing custom models...'
@@ -533,7 +553,7 @@ steps:
553 ##### multi gpus test #####
554
555 - label: Distributed Comm Ops Test # 7min
536 - mirror_hardwares: [amd]
556 + mirror_hardwares: [amdexperimental, amdproduction]
557 working_dir: "/vllm-workspace/tests"
558 num_gpus: 2
559 source_file_dependencies:
@@ -544,6 +564,7 @@ steps:
564 - pytest -v -s distributed/test_shm_broadcast.py
565
566 - label: 2 Node Tests (4 GPUs in total) # 16min
567 + mirror_hardwares: [amdexperimental]
568 working_dir: "/vllm-workspace/tests"
569 num_gpus: 2
570 num_nodes: 2
@@ -562,7 +583,7 @@ steps:
583 - 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'
584
585 - label: Distributed Tests (2 GPUs) # 40min
565 - #mirror_hardwares: [amd]
586 + mirror_hardwares: [amdexperimental]
587 working_dir: "/vllm-workspace/tests"
588 num_gpus: 2
589 source_file_dependencies:
@@ -599,6 +620,7 @@ steps:
620 - CUDA_VISIBLE_DEVICES=0,1 pytest -v -s v1/shutdown
621
622 - label: Plugin Tests (2 GPUs) # 40min
623 + mirror_hardwares: [amdexperimental]
624 working_dir: "/vllm-workspace/tests"
625 num_gpus: 2
626 source_file_dependencies:
@@ -618,6 +640,7 @@ steps:
640 - pytest -v -s models/test_oot_registration.py # it needs a clean process
641
642 - label: Multi-step Tests (4 GPUs) # 36min
643 + mirror_hardwares: [amdexperimental]
644 working_dir: "/vllm-workspace/tests"
645 num_gpus: 4
646 source_file_dependencies:
@@ -638,6 +661,7 @@ steps:
661 - pytest -v -s multi_step/test_correctness_llm.py
662
663 - label: Pipeline Parallelism Test # 45min
664 + mirror_hardwares: [amdexperimental, amdproduction]
665 working_dir: "/vllm-workspace/tests"
666 num_gpus: 4
667 source_file_dependencies:
@@ -651,6 +675,7 @@ steps:
675 - pytest -v -s distributed/test_pipeline_parallel.py
676
677 - label: LoRA TP Test (Distributed)
678 + mirror_hardwares: [amdexperimental, amdproduction]
679 num_gpus: 4
680 source_file_dependencies:
681 - vllm/lora
@@ -666,6 +691,7 @@ steps:
691
692
693 - label: Weight Loading Multiple GPU Test # 33min
694 + mirror_hardwares: [amdexperimental]
695 working_dir: "/vllm-workspace/tests"
696 num_gpus: 2
697 source_file_dependencies:
requirements/rocm-test.txt
+2
@@ -1,3 +1,5 @@
1 +# Common dependencies
2 +-r common.txt
3
4 # entrypoints test
5 # librosa==0.10.2.post1 # required by audio tests in entrypoints/openai