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 = required_torch_version(min_version=1.10)
  
file_path: DeepSpeed/deepspeed/runtime/comm/nccl.py
imports: import torch
  from deepspeed import comm
  import cupy
  import numpy
  from deepspeed.runtime.compression.cupy import CupyBackend
  from deepspeed.runtime.utils import required_torch_version
  from deepspeed.accelerator import get_accelerator
label_desc: Use image node_id 1 to create a new NcclBackend object from inherited base classes: object with example: obj = NcclBackend(mpu)