docstr: Init an GLOO collective group.
  
  Args:
      world_size: The number of processes.
      rank: The id of process
      group_name: The unique user-specified group name.
      store_type: The store type. Optional: "redis",
                        "file", "hash".
      device_type: The device type to transport.
                         Optional: "tcp", "uv".
docstr_tok: ["Init","an","GLOO","collective","group",".","Args",":","world_size",":","The","number","of","processes",".","rank",":","The","id","of","process","group_name",":","The","unique","user-specified","group","name",".","store_type",":","The","store","type",".","Optional",":","``","redis","''",",","``","file","''",",","``","hash","''",".","device_type",":","The","device","type","to","transport",".","Optional",":","``","tcp","''",",","``","uv","''","."]
code: def __init__(
      self,
      world_size,
      rank,
      group_name,
      store_type="ray_internal_kv",
      device_type="tcp",
  ):
      """Init an GLOO collective group.
  
      Args:
          world_size: The number of processes.
          rank: The id of process
          group_name: The unique user-specified group name.
          store_type: The store type. Optional: "redis",
                            "file", "hash".
          device_type: The device type to transport.
                             Optional: "tcp", "uv".
      """
      super(GLOOGroup, self).__init__(world_size, rank, group_name)
      self._gloo_context = gloo_util.create_gloo_context(
          self.rank, self.world_size
      )
      self._rendezvous = Rendezvous(
          self.group_name, self._gloo_context, store_type, device_type
      )
      self._rendezvous.meet()
  
imports: import datetime
  import logging
  import os
  import shutil
  import time
  import numpy
  import pygloo
  import ray
  from ray._private import ray_constants
  from ray.util.collective.collective_group import gloo_util
  from ray.util.collective.collective_group.base_collective_group import BaseGroup
  from ray.util.collective.const import get_store_name
  from ray.util.collective.types import AllGatherOptions, AllReduceOptions, Backend, BarrierOptions, BroadcastOptions, RecvOptions, ReduceOptions, ReduceScatterOptions, SendOptions
label_desc: Use image node_id 1 to create a new GLOOGroup object from inherited base classes: BaseGroup with example: obj = GLOOGroup(world_size, rank, group_name, store_type, device_type)