code: def __init__(self, mpu=None):
      if mpu is None:
          self.world_group = dist.new_group(
              ranks=range(dist.get_world_size())
          )
      else:
          self.mpu = mpu
          self.world_group = self.mpu.get_data_parallel_group()
      self.rank = dist.get_rank(group=self.world_group)
      self.size = dist.get_world_size(group=self.world_group)
      self.compression_backend = CupyBackend()
      self.bool_not_supported = False
      TORCH_MAJOR = int(torch.__version__.split(".")[0])
      TORCH_MINOR = int(torch.__version__.split(".")[1])
      if TORCH_MAJOR >= 1 and TORCH_MINOR >= 10:
          self.bool_not_supported = True
  
file_path: H2O/h2o_flexgen/benchmark/third_party/DeepSpeed/deepspeed/runtime/comm/nccl.py
imports: import torch
  from deepspeed import comm
  import cupy
  import numpy
  from deepspeed.runtime.compression.cupy import CupyBackend
label_desc: Use image node_id 1 to create a new NcclBackend object from inherited base classes: object with example: obj = NcclBackend(mpu)