code: def _new_group(self, ranks, group):
      size = len(ranks)
      rank = self.get_rank()
      sub_main_kvs = self.ccl_comm_op.get_sub_kvs_addr(rank == ranks[0])
      sub_main_kvs = (
          torch.tensor(sub_main_kvs)
          .to(torch.uint8)
          .to(get_accelerator().current_device_name())
      )
      super(CCLBackend, self).broadcast(sub_main_kvs, ranks[0], group)
      self.ccl_comm_op.initialize_sub_comm(
          size, ranks.index(rank), sub_main_kvs, ranks
      )
      self.groups.append(tuple(ranks))
  
imports: import torch
  from deepspeed.accelerator import get_accelerator
  from .reduce_op import ReduceOp
  from .torch import TorchBackend
label_desc: Use image node_id 20 for calling the CCLBackend obj's underlying member method code with example usage: obj._new_group(ranks, group) without return types