code: def _get_backend_kernel(
      dtype,
      grid,
      block,
      k_type,
  ):
      kernel = _cupy_kernel_cache[(str(dtype), k_type)]
      if kernel:
          if k_type == "upfirdn1D":
              return _cupy_upfirdn_wrapper(grid, block, kernel)
          elif k_type == "upfirdn2D":
              return _cupy_upfirdn2d_wrapper(grid, block, kernel)
      else:
          raise ValueError(
              "Kernel {} not found in _cupy_kernel_cache".format(k_type)
          )
  
imports: from math import ceil
  import cupy
  import numpy
  from ..utils._caches import _cupy_kernel_cache
  from ..utils.helper_tools import _get_function, _get_max_gdx, _get_max_gdy, _get_tpb_bpg, _print_atts
label_desc: Use image node_id 4 for calling a global function with example usage: _get_backend_kernel(dtype, grid, block, k_type) and returns: _cupy_upfirdn_wrapper, _cupy_upfirdn2d_wrapper