diff --git a/fastdeploy/worker/worker_process.py b/fastdeploy/worker/worker_process.py index 9fdafd156..c37403f29 100644 --- a/fastdeploy/worker/worker_process.py +++ b/fastdeploy/worker/worker_process.py @@ -421,7 +421,8 @@ class PaddleDisWorkerProc: if self.fd_config.load_config.dynamic_load_weight: if self.model_weights_status.value[0] != ModelWeightsStatus.NORMAL: self.model_weights_signal[0] = int(self.model_weights_status.value[0]) - self.model_weights_signal[0] = self._broadcast_model_weights_signal(src=0, group=None) + if self.ranks > 1: + self.model_weights_signal[0] = self._broadcast_model_weights_signal(src=0, group=None) req_dicts = None self.worker_healthy_live_signal.value[tp_rank % self.max_chips_per_node] = int(time.time()) @@ -441,7 +442,8 @@ class PaddleDisWorkerProc: self._tp_barrier_wait() if tp_size > 1 else None if self.fd_config.load_config.dynamic_load_weight: - paddle.distributed.barrier() + if self.ranks > 1: + paddle.distributed.barrier() if self.model_weights_signal[0] != ModelWeightsStatus.NORMAL: logger.info( f"Rank: {self.local_rank} to update or clear parameters, signal is {self.model_weights_signal[0]}, [-1:clear, 1:update]"