[Core] Scope PCP-DP validation to GPU manager (#54523)

Signed-off-by: QiuChunshuo <qiuchunshuo@huawei.com>

Qiu Chunshuo committed Sep 8, 2026 at 23:18 UTC 7c2f1ff4958eaf0818405e9192c71608fe4a16b1
3 files changed +12 -2
vllm/config/parallel.py
-2
@@ -547,8 +547,6 @@ class ParallelConfig:
547 tp = self.tensor_parallel_size
548 pcp = self.prefill_context_parallel_size
549 dcp = self.decode_context_parallel_size
550 - if pcp > 1 and self.data_parallel_size > 1:
551 - raise ValueError("PCP does not support data parallelism yet.")
550 if pcp == 1:
551 # DCP reuses the TP ranks when PCP is disabled.
552 if tp % dcp != 0:
vllm/platforms/cuda.py
+6
@@ -322,6 +322,12 @@ class CudaPlatformBase(Platform):
322 parallel_config = vllm_config.parallel_config
323 model_config = vllm_config.model_config
324
325 + if (
326 + parallel_config.prefill_context_parallel_size > 1
327 + and parallel_config.data_parallel_size > 1
328 + ):
329 + raise ValueError("PCP does not support data parallelism on CUDA yet.")
330 +
331 if parallel_config.worker_cls == "auto":
332 parallel_config.worker_cls = "vllm.v1.worker.gpu_worker.Worker"
333
vllm/platforms/rocm.py
+6
@@ -900,6 +900,12 @@ class RocmPlatform(Platform):
900 compilation_config = vllm_config.compilation_config
901 parallel_config = vllm_config.parallel_config
902
903 + if (
904 + parallel_config.prefill_context_parallel_size > 1
905 + and parallel_config.data_parallel_size > 1
906 + ):
907 + raise ValueError("PCP does not support data parallelism on ROCm yet.")
908 +
909 if (
910 compilation_config.cudagraph_mode.has_full_cudagraphs()
911 and parallel_config.prefill_context_parallel_size > 1