code: def __init__(self, group_type):
      if group_type == "grid":
          name = "grid group"
          typename = "_GridGroup"
      elif group_type == "thread_block":
          name = "thread block group"
          typename = "_ThreadBlockGroup"
      else:
          raise NotImplementedError
      self.group_type = group_type
      self.__doc__ = f"""
          Returns the current {name} (:class:`~cupyx.jit.cg.{typename}`).
  
          .. seealso:: :class:`cupyx.jit.cg.{typename}`"""
      if group_type == "grid":
          self.__doc__ += ", :func:`numba.cuda.cg.this_grid`"
  
imports: from cupy.cuda import runtime
  from cupyx.jit import _compile
  from cupyx.jit import _cuda_types
  from cupyx.jit._internal_types import BuiltinFunc
  from cupyx.jit._internal_types import Constant
  from cupyx.jit._internal_types import Data
  from cupyx.jit._internal_types import wraps_class_method
label_desc: Use image node_id 1 to create a new _ThisCgGroup object from inherited base classes: _BuiltinFunc with example: obj = _ThisCgGroup(group_type)