class_docstr: ProcessGroup
  Process Group indicates how processes are organized in groups for parallel execution using Tensor Parallelism and Data Parallelism.
  
  NOTE, the ProcessGroup must be used after `torch.distributed.initialize()`
  
  
  Args:
      rank: the global rank of the current process.
      ranks: List[int], a list of rank id belongings to this process group.
      backend: str, the backend of the process group.
      tp_degree: Optional[int], tensor parallelism degree. How many processes are inside a tp process group. default None means 1.
      dp_degree: Optional[int], data parallelism degree. How many processes are inside a dp process group. . default None means len(ranks).
docstr: tp_local_rank
  
  The local rank number in the current TP process group.
  
  Returns:
      int: tp rank number.
docstr_tok: ["tp_local_rank","The","local","rank","number","in","the","current","TP","process","group",".","Returns",":","int",":","tp","rank","number","."]
code: def tp_local_rank(self) -> int:
      """tp_local_rank
  
      The local rank number in the current TP process group.
  
      Returns:
          int: tp rank number.
      """
      return self._rank % self._tp_degree
  
imports: from typing import List, Optional
  import torch
  from colossalai.context.singleton_meta import SingletonMeta
  from colossalai.logging import get_dist_logger
label_desc: Use image node_id 11 for calling the ProcessGroup obj's underlying member method code with example usage: obj.tp_local_rank() and returns: unknown