@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / ef70057ca7
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, 12:30 UTC

[CI][CPU] Split CPU-Distributed Tests into per-scenario labels (#41203)

Signed-off-by: haosdent <haosdent@gmail.com>

haosdent committed Apr 29, 2026 at 16:28 UTC ef70057ca76688fc786c7fdee926ce2bd129b2c0
2 files changed +47 -41
.buildkite/hardware_tests/cpu.yaml
+14 -3
@@ -69,11 +69,11 @@ steps:
69 pytest -x -v -s tests/quantization/test_compressed_tensors.py::test_compressed_tensors_w8a8_logprobs
70 pytest -x -v -s tests/quantization/test_cpu_wna16.py"
71
72 -- label: CPU-Distributed Tests
72 +- label: CPU-Distributed Tests (PP+TP)
73 depends_on: []
74 device: intel_cpu
75 no_plugin: true
76 - source_file_dependencies:
76 + source_file_dependencies: &cpu_distributed_deps
77 - csrc/cpu/shm.cpp
78 - vllm/v1/worker/cpu_worker.py
79 - vllm/v1/worker/gpu_worker.py
@@ -82,10 +82,21 @@ steps:
82 - vllm/platforms/cpu.py
83 - vllm/distributed/parallel_state.py
84 - vllm/distributed/device_communicators/cpu_communicator.py
85 + - .buildkite/scripts/hardware_ci/run-cpu-distributed-smoke-test.sh
86 + commands:
87 + - |
88 + bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 10m "
89 + bash .buildkite/scripts/hardware_ci/run-cpu-distributed-smoke-test.sh tp_pp"
90 +
91 +- label: CPU-Distributed Tests (DP+TP)
92 + depends_on: []
93 + device: intel_cpu
94 + no_plugin: true
95 + source_file_dependencies: *cpu_distributed_deps
96 commands:
97 - |
98 bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 10m "
88 - bash .buildkite/scripts/hardware_ci/run-cpu-distributed-smoke-test.sh"
99 + bash .buildkite/scripts/hardware_ci/run-cpu-distributed-smoke-test.sh dp_tp"
100
101 - label: CPU-Multi-Modal Model Tests %N
102 depends_on: []
.buildkite/scripts/hardware_ci/run-cpu-distributed-smoke-test.sh
+33 -38
@@ -3,42 +3,37 @@ set -euox pipefail
3 export VLLM_CPU_CI_ENV=0
4 export VLLM_CPU_KVCACHE_SPACE=1 # avoid OOM
5
6 -echo "--- PP+TP"
7 -vllm serve meta-llama/Llama-3.2-3B-Instruct -tp=2 -pp=2 --max-model-len=4096 &
8 -server_pid=$!
9 -timeout 600 bash -c "until curl localhost:8000/v1/models > /dev/null 2>&1; do sleep 1; done" || exit 1
10 -vllm bench serve \
11 - --backend vllm \
12 - --dataset-name random \
13 - --model meta-llama/Llama-3.2-3B-Instruct \
14 - --num-prompts 20 \
15 - --result-dir ./test_results \
16 - --result-filename tp_pp.json \
17 - --save-result \
18 - --endpoint /v1/completions
19 -kill -s SIGTERM $server_pid; wait $server_pid || true
20 -failed_req=$(jq '.failed' ./test_results/tp_pp.json)
21 -if [ "$failed_req" -ne 0 ]; then
22 - echo "Some requests were failed!"
23 - exit 1
24 -fi
6 +MODE=${1:-all}
7
26 -echo "--- DP+TP"
27 -vllm serve meta-llama/Llama-3.2-3B-Instruct -tp=2 -dp=2 --max-model-len=4096 &
28 -server_pid=$!
29 -timeout 600 bash -c "until curl localhost:8000/v1/models > /dev/null 2>&1; do sleep 1; done" || exit 1
30 -vllm bench serve \
31 - --backend vllm \
32 - --dataset-name random \
33 - --model meta-llama/Llama-3.2-3B-Instruct \
34 - --num-prompts 20 \
35 - --result-dir ./test_results \
36 - --result-filename dp_pp.json \
37 - --save-result \
38 - --endpoint /v1/completions
39 -kill -s SIGTERM $server_pid; wait $server_pid || true
40 -failed_req=$(jq '.failed' ./test_results/dp_pp.json)
41 -if [ "$failed_req" -ne 0 ]; then
42 - echo "Some requests were failed!"
43 - exit 1
44 -fi
8 +run_scenario() {
9 + local label="$1" result_file="$2"
10 + shift 2
11 + echo "--- $label"
12 + vllm serve meta-llama/Llama-3.2-3B-Instruct "$@" --max-model-len=4096 &
13 + local server_pid=$!
14 + timeout 600 bash -c "until curl localhost:8000/v1/models > /dev/null 2>&1; do sleep 1; done" || exit 1
15 + vllm bench serve \
16 + --backend vllm \
17 + --dataset-name random \
18 + --model meta-llama/Llama-3.2-3B-Instruct \
19 + --num-prompts 20 \
20 + --result-dir ./test_results \
21 + --result-filename "$result_file" \
22 + --save-result \
23 + --endpoint /v1/completions
24 + kill -s SIGTERM "$server_pid"; wait "$server_pid" || true
25 + if [ "$(jq '.failed' "./test_results/$result_file")" -ne 0 ]; then
26 + echo "Some requests were failed in $label!"
27 + exit 1
28 + fi
29 +}
30 +
31 +case "$MODE" in
32 + tp_pp) run_scenario "PP+TP" tp_pp.json -tp=2 -pp=2 ;;
33 + dp_tp) run_scenario "DP+TP" dp_tp.json -tp=2 -dp=2 ;;
34 + all)
35 + run_scenario "PP+TP" tp_pp.json -tp=2 -pp=2
36 + run_scenario "DP+TP" dp_tp.json -tp=2 -dp=2
37 + ;;
38 + *) echo "ERROR: unknown mode '$MODE' (expected: tp_pp | dp_tp | all)" >&2; exit 1 ;;
39 +esac