def _broadcast()

in summarize_from_feedback/utils/dist_utils.py [0:0]


    def _broadcast(self, tensor, src, name, async_op=False):
        if dist.get_backend() == "nccl":
            assert (
                tensor.is_cuda
            ), f"Bad tensor - NCCL backend only supports cuda tensors: {name}; {tensor}"

        if len(self.ranks) == 1:
            # Conform to the comm.broadcast and comm.all_reduce API, but do no work
            if async_op:
                return NoopPromise()
            else:
                return tensor

        return dist.broadcast(tensor, src, group=self._group, async_op=async_op)