[Bugfix][XPU] Skip oneCCL warm-up all_reduce when world_size == 1 (#52389)

Signed-off-by: DaeHyun Sung <dhsung@lablup.com>

DaeHyun Sung committed Aug 24, 2026 at 13:31 UTC f94666b60d4c58ec0807d22c837cfae322a1dde9
1 file changed +7 -2
vllm/v1/worker/xpu_worker.py
+7 -2
@@ -100,8 +100,13 @@ class XPUWorker(Worker):
100 current_platform.dist_backend,
101 )
102
103 - # global all_reduce needed for overall oneccl warm up
104 - if torch.distributed.is_xccl_available():
103 + # oneCCL warm-up; only meaningful for multi-device runs. Requiring it
104 + # with a single worker breaks platforms where oneCCL cannot enumerate
105 + # device topology (e.g. paravirtualized GPUs).
106 + if (
107 + self.parallel_config.world_size > 1
108 + and torch.distributed.is_xccl_available()
109 + ):
110 torch.distributed.all_reduce(torch.zeros(1).xpu())
111
112 if self.use_v2_model_runner: