code: def _jitify_prep(source, options, cu_path):
      from cupy.cuda import jitify
  
      # TODO(leofang): refactor this?
      global _jitify_header_source_map_populated
      if not _jitify_header_source_map_populated:
          from cupy._core import core
  
          jitify._init_module()
          jitify._add_sources(core._get_header_source_map())
          _jitify_header_source_map_populated = True
  
      # jitify requires the 1st line to be the program name
      old_source = source
      source = cu_path + "\n" + source
  
      # Upon failure, in addition to throw an error Jitify also prints the log
      # to stdout. In principle we could intercept that by hijacking stdout's
      # file descriptor (tested locally), but the problem is pytest also does
      # the same thing internally, causing strange errors when running the tests.
      # As a result, we currently maintain Jitify's default behavior for easy
      # debugging, and wait for the upstream to address this issue
      # (NVIDIA/jitify#79).
  
      try:
          name, options, headers, include_names = jitify.jitify(
              source, options
          )
      except Exception as e:  # C++ could throw all kinds of errors
          cex = CompileException(
              str(e), old_source, cu_path, options, "jitify"
          )
          dump = _get_bool_env_variable(
              "CUPY_DUMP_CUDA_SOURCE_ON_ERROR", False
          )
          if dump:
              cex.dump(sys.stderr)
          raise JitifyException(str(cex)) from e
      assert name == cu_path
  
      return options, headers, include_names
  
imports: import copy
  import hashlib
  import math
  import os
  import platform
  import re
  import shutil
  import subprocess
  import sys
  import tempfile
  import warnings
  from cupy.cuda import device
  from cupy.cuda import function
  from cupy.cuda import get_rocm_path
  from cupy_backends.cuda.api import driver
  from cupy_backends.cuda.api import runtime
  from cupy_backends.cuda.libs import nvrtc
  from cupy import _util
label_desc: Use image node_id 11 for calling a global function with example usage: _jitify_prep(source, options, cu_path) and returns: options,  headers,  include_names