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