code: def _get_kernel_name():
      """
      Returns the path of the kernel
      """
      names = [
          "kernel",
      ]
  
      if "NVPROF_ID" in os.environ:
          for frame in tb.extract_stack():
              if nrv_re.search(frame[0]):
                  break
              caller = frame[0:2]
  
          file_path, file_name = os.path.split(caller[0])
          path1, path2 = os.path.split(file_path)
          file_base, ext = os.path.splitext(file_name)
  
          for name in (path2, file_base, ext):
              name = name_re.sub("", name)
              if name:
                  names.append(name)
  
          names.append(native_str(caller[1]))
  
      return names
  
imports: from __future__ import division
  from future.utils import native_str
  import os.path
  import re
  import traceback
  import numpy
  from pycuda.tools import context_dependent_memoize
  from pytools import memoize
  from neon import logger
  import neon.backends.nervanagpu
  from neon.backends.util.source_module import SourceModule
  from neon.backends.cuda_templates import _ew_template, _stage_template, _fin_template, _init_rand_func, _init_rand_round_func, _finish_rand_func, _common_kepler, _common_urand_gen, _common_frand, _common_round, _common_fp16_to_fp32, _ew_types, _ew_strings, _is_finite, _float_ops, _reduction_ops
  from neon.backends.cuda_batchnorm import _get_bn_fprop_kernel, _get_bn_bprop_kernel
  from neon.backends.kernels.cuda.lookuptable import _get_lut_bprop_kernel, _get_sorting_kernel
label_desc: Use image node_id 11 for calling a global function with example usage: _get_kernel_name() and returns: names