code: def allgather(value, name=None):
      """
      Perform an allgather on a tensor-compatible value.
  
      The concatenation is done on the first dimension, so the input values on the
      different processes must have the same rank and shape, except for the first
      dimension, which is allowed to be different.
  
      Arguments:
          value: A tensor-compatible value to gather.
          name: Optional name prefix for the constants created by this operation.
      """
      return _impl.allgather(K, value, name)
  
imports: import inspect
  import warnings
  from packaging import version
  import tensorflow
  from tensorflow import keras
  from horovod.common.util import is_version_greater_equal_than
  from horovod.tensorflow import init
  from horovod.tensorflow import shutdown
  from horovod.tensorflow import is_initialized, start_timeline, stop_timeline
  from horovod.tensorflow import size, local_size, cross_size, rank, local_rank, cross_rank
  from horovod.tensorflow import mpi_threads_supported, mpi_enabled, mpi_built
  from horovod.tensorflow import gloo_enabled, gloo_built
  from horovod.tensorflow.mpi_ops import ProcessSet, global_process_set, add_process_set, remove_process_set
  from horovod.tensorflow import nccl_built, ddl_built, ccl_built, cuda_built, rocm_built
  from horovod.tensorflow import Average, Sum
  from horovod.tensorflow.compression import Compression
  import horovod._keras
  from horovod.tensorflow.keras import callbacks, elastic
label_desc: Use image node_id 4 for calling a global function with example usage: allgather(value, name) and returns: _impl