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 14, 05:30 UTC
[CI] Add Decode Context Parallelism (DCP) test to CI (#24487)
Signed-off-by: Ming Yang <minos.future@gmail.com>
Ming Yang committed
Sep 16, 2025 at 06:21 UTC
4e5affeaa14220b5699c667e6c3ee5402b4284ef
2 files changed
+21
-7
.buildkite/test-pipeline.yaml
+14
-3
@@ -946,7 +946,6 @@ steps:
946
commands:
947
- pytest -v -s distributed/test_pp_cudagraph.py
948
- pytest -v -s distributed/test_pipeline_parallel.py
949
- # - pytest -v -s distributed/test_context_parallel.py # TODO: enable it on Hopper runners or add triton MLA support
949
950
- label: LoRA TP Test (Distributed) # 17 min
951
timeout_in_minutes: 30
@@ -1020,9 +1019,21 @@ steps:
1019
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1020
- pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-large.txt --tp-size=4
1021
1023
-- label: Qwen MoE EP Test # optional
1022
+##### H200 test #####
1023
+- label: Distrubted Tests (H200) # optional
1024
gpu: h200
1025
optional: true
1026
+ working_dir: "/vllm-workspace/"
1027
+ num_gpus: 2
1028
+ commands:
1029
+ - pytest -v -s tests/distributed/test_context_parallel.py
1030
+ - CUDA_VISIBLE_DEVICES=1,2 VLLM_ALL2ALL_BACKEND=deepep_high_throughput VLLM_USE_DEEP_GEMM=1 VLLM_LOGGING_LEVEL=DEBUG python3 examples/offline_inference/data_parallel.py --model Qwen/Qwen1.5-MoE-A2.7B --tp-size=1 --dp-size=2 --max-model-len 2048
1031
+
1032
+##### B200 test #####
1033
+- label: Distributed Tests (B200) # optional
1034
+ gpu: b200
1035
+ optional: true
1036
+ working_dir: "/vllm-workspace/"
1037
num_gpus: 2
1038
commands:
1028
- - CUDA_VISIBLE_DEVICES=1,2 VLLM_ALL2ALL_BACKEND=deepep_high_throughput VLLM_USE_DEEP_GEMM=1 VLLM_LOGGING_LEVEL=DEBUG python3 /vllm-workspace/examples/offline_inference/data_parallel.py --model Qwen/Qwen1.5-MoE-A2.7B --tp-size=1 --dp-size=2 --max-model-len 2048
1039
+ - pytest -v -s tests/distributed/test_context_parallel.py
tests/distributed/test_context_parallel.py
+7
-4
@@ -71,12 +71,13 @@ class CPTestSettings:
71
parallel_setups = []
72
for eager_mode_val in [False]:
73
for pp_multiplier in [1]:
74
- for dcp_multiplier in [2, 4]:
74
+ for dcp_multiplier in [0.5, 1]:
75
for chunked_prefill_val in [True]:
76
parallel_setups.append(
77
ParallelSetup(tp_size=tp_base,
78
pp_size=pp_multiplier * pp_base,
79
- dcp_size=dcp_multiplier * dcp_base,
79
+ dcp_size=int(dcp_multiplier *
80
+ tp_base),
81
eager_mode=eager_mode_val,
82
chunked_prefill=chunked_prefill_val))
83
return CPTestSettings(
@@ -223,7 +224,9 @@ def _compare_cp_with_tp(
224
225
CP_TEXT_GENERATION_MODELS = {
226
# [MLA attention only]
226
- "deepseek-ai/DeepSeek-V2-Lite-Chat": CPTestSettings.detailed(),
227
+ "deepseek-ai/DeepSeek-V2-Lite-Chat":
228
+ [CPTestSettings.detailed(),
229
+ CPTestSettings.detailed(tp_base=2)],
230
}
231
232
CP_TEST_MODELS = [
@@ -238,7 +241,7 @@ CP_TEST_MODELS = [
241
"runner", "test_options"),
242
[
243
params for model_id, settings in CP_TEXT_GENERATION_MODELS.items()
241
- for params in settings.iter_params(model_id)
244
+ for setting in settings for params in setting.iter_params(model_id)
245
if model_id in CP_TEST_MODELS
246
],
247
)