class_docstr: Serve as the single entry point to Tesseract parallel initialization.
  
  Args:
      rank (int): The rank of current process.
      world_size (int): Size of whole communication world.
      config (Config): Running configuration.
      data_parallel_size (int): Size of data parallel.
      pipeline_parallel_size (int): Size of pipeline parallel.
      tensor_parallel_size (int): Size of tensor parallel.
      depth (int): The depth of 2.5d parallel.
class_docstr_tok: ["Serve","as","the","single","entry","point","to","Tesseract","parallel","initialization",".","Args",":","rank","(","int",")",":","The","rank","of","current","process",".","world_size","(","int",")",":","Size","of","whole","communication","world",".","config","(","Config",")",":","Running","configuration",".","data_parallel_size","(","int",")",":","Size","of","data","parallel",".","pipeline_parallel_size","(","int",")",":","Size","of","pipeline","parallel",".","tensor_parallel_size","(","int",")",":","Size","of","tensor","parallel",".","depth","(","int",")",":","The","depth","of","2.5d","parallel","."]
code: def __init__(
      self,
      rank: int,
      world_size: int,
      config: Config,
      data_parallel_size: int,
      pipeline_parallel_size: int,
      tensor_parallel_size: int,
      depth: int,
  ):
      args = (
          rank,
          world_size,
          config,
          data_parallel_size,
          pipeline_parallel_size,
          tensor_parallel_size,
      )
      super().__init__(*args)
      self.num_group = self.world_size // self.tensor_parallel_size
      self.tesseract_dim = int(
          math.sqrt(self.tensor_parallel_size / depth)
      )
      self.tesseract_dep = depth
  
      assert (
          self.tensor_parallel_size
          == self.tesseract_dim**2 * self.tesseract_dep
      ), "2.5D tesseract dim should equal to (tensor parallel size / tesseract dep) ^ 0.5"
      _check_tesseract_env_var(self.tesseract_dim, self.tesseract_dep)
  
      self.col_initializer = Initializer_2p5D_Col(
          self.tesseract_dim, self.tesseract_dep, *args
      )
      self.row_initializer = Initializer_2p5D_ROW(
          self.tesseract_dim, self.tesseract_dep, *args
      )
      self.dep_initializer = Initializer_2p5D_Dep(
          self.tesseract_dim, self.tesseract_dep, *args
      )
      self.xz_initializer = Initializer_2p5D_XZ(
          self.tesseract_dim, self.tesseract_dep, *args
      )
  
imports: import math
  import torch.distributed
  from colossalai.context import Config
  from colossalai.legacy.global_variables import tensor_parallel_env
  from colossalai.legacy.registry import DIST_GROUP_INITIALIZER
  from ..parallel_mode import ParallelMode
  from .process_group_initializer import ProcessGroupInitializer
label_desc: Use image node_id 1 to create a new Initializer_2p5D object from inherited base classes: ProcessGroupInitializer with example: obj = Initializer_2p5D(rank, world_size, config, data_parallel_size, pipeline_parallel_size, tensor_parallel_size, depth)