class_docstr: Use this class to manage the collective groups we created so far.
  
  Each process will have an instance of `GroupManager`. Each process
  could belong to multiple collective groups. The membership information
  and other metadata are stored in the global `_group_mgr` object.
class_docstr_tok: ["Use","this","class","to","manage","the","collective","groups","we","created","so","far",".","Each","process","will","have","an","instance","of","`","GroupManager","`",".","Each","process","could","belong","to","multiple","collective","groups",".","The","membership","information","and","other","metadata","are","stored","in","the","global","`","_group_mgr","`","object","."]
docstr: Get the collective group handle by its name.
docstr_tok: ["Get","the","collective","group","handle","by","its","name","."]
code: def get_group_by_name(self, group_name):
      """Get the collective group handle by its name."""
      if not self.is_group_exist(group_name):
          logger.warning(
              "The group '{}' is not initialized.".format(group_name)
          )
          return None
      return self._name_group_map[group_name]
  
imports: import logging
  import os
  from typing import List
  import numpy
  import ray
  from ray.util.collective import types
label_desc: Use image node_id 4 for calling the GroupManager obj's underlying member method code with example usage: obj.get_group_by_name(group_name) and returns: self, None