@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 4e5affeaa1
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 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 )