code: def _can_be_jitted(frame, func, args):
      """
      Determine if this UDF is supported through the JIT engine
      by attempting to compile just the function to PTX using the
      target set of types
      """
      if not hasattr(func, "__code__"):
          # Numba requires bytecode to be present to proceed.
          # See https://github.com/numba/numba/issues/4587
          return False
      np_field_types = np.dtype(
          list(
              _supported_dtypes_from_frame(
                  frame, supported_types=SUPPORTED_GROUPBY_NUMPY_TYPES
              ).items()
          )
      )
      dataframe_group_type = _get_frame_groupby_type(
          np_field_types, frame.index.dtype
      )
      try:
          _get_udf_return_type(dataframe_group_type, func, args)
          return True
      except (UDFError, TypingError):
          return False
  
file_path: cudf/python/cudf/cudf/core/udf/groupby_utils.py
imports: import cupy
  import numpy
  from numba import cuda, types
  from numba.core.errors import TypingError
  from numba.cuda.cudadrv.devices import get_context
  from numba.np import numpy_support
  import cudf.core.udf.utils
  from cudf.core.udf.groupby_typing import SUPPORTED_GROUPBY_NUMPY_TYPES, Group, GroupByJITDataFrame, GroupType
  from cudf.core.udf.templates import group_initializer_template, groupby_apply_kernel_template
  from cudf.core.udf.utils import UDFError, _all_dtypes_from_frame, _compile_or_get, _get_extensionty_size, _get_kernel, _get_udf_return_type, _supported_cols_from_frame, _supported_dtypes_from_frame
  from cudf.utils._numba import _CUDFNumbaConfig
  from cudf.utils.nvtx_annotation import _cudf_nvtx_annotate
label_desc: Use image node_id 5 for calling a global function with example usage: _can_be_jitted(frame, func, args) and returns: False, True, False