code: def all_to_all_v3(
      communicator, t, group_assignment=None, timeout_seconds=None
  ):
      """Exchanges tensors mutually.
  
      Args:
        communicator: the resource `tf.Tensor` returned from
          `initialize_communicator`.
        t: a `tf.Tensor`. The first dimension should have the length as the size of
          the group. `t[i]` is sent to `rank i` within the group.
        group_assignment: Optional int32 `tf.Tensor` with shape [num_groups,
          num_ranks_per_group]. `group_assignment[i]` represents the ranks in the
          `ith` subgroup.
        timeout_seconds: If set to a non zero, set a completion timeout to detect
          staleness. If the timer goes off, a DeadlineExceededError is raised. The
          timeout value in seconds. This feature is experimental.
  
      Returns:
        a `tf.Tensor`. `t[i]` is sent from `rank i` within the group.
      """
      if group_assignment is None:
          group_assignment = []
      return gen_collective_ops.collective_all_to_all_v3(
          communicator=communicator,
          input=t,
          group_assignment=group_assignment,
          timeout_seconds=timeout_seconds,
      )
  
file_path: tensorflow-upstream/tensorflow/python/ops/collective_ops.py
imports: from tensorflow.python.ops import gen_collective_ops
label_desc: Use image node_id 13 for calling a global function with example usage: all_to_all_v3(communicator, t, group_assignment, timeout_seconds) and returns: gen_collective_ops