code: def _gpu_broadcast(data, src=0):
      def _gpu_broadcast_one(tensor, src=0):
          torch.distributed.broadcast(tensor, src=src)
          return tensor
  
      return recursively_apply(
          _gpu_broadcast_one, data, error_on_other_type=True, src=src
      )
  
imports: import pickle
  import warnings
  from functools import update_wrapper, wraps
  from typing import Any, Mapping
  import torch
  from ..state import PartialState
  from .constants import TORCH_DISTRIBUTED_OPERATION_TYPES
  from .dataclasses import DistributedType, TensorInformation
  from .imports import is_npu_available, is_torch_distributed_available, is_torch_version, is_tpu_available
label_desc: Use image node_id 20 for calling a global function with example usage: _gpu_broadcast(data, src) and returns: recursively_apply, tensor