diff --git a/vllm/v1/worker/gpu/pp_utils.py b/vllm/v1/worker/gpu/pp_utils.py index 9f5d4c2d80..9b1786cbe4 100644 --- a/vllm/v1/worker/gpu/pp_utils.py +++ b/vllm/v1/worker/gpu/pp_utils.py @@ -9,6 +9,7 @@ import numpy as np import torch from vllm.distributed.parallel_state import get_pp_group +from vllm.platforms import current_platform from vllm.v1.worker.gpu.buffer_utils import async_copy_to_gpu from vllm.v1.worker.gpu.input_batch import InputBatch @@ -179,6 +180,10 @@ class PPHandler: return assert sampled_token_ids.dtype == torch.int64 + + if current_platform.is_xpu(): + self.main_stream.synchronize() + with torch.cuda.stream(self.broadcast_stream): self.broadcast_stream.wait_stream(self.main_stream) torch.distributed.broadcast(