code: def _get_cudadevrt_path():
      global _cudadevrt
      if _cudadevrt is not None:
          return _cudadevrt
  
      # defer import to here to avoid circular dependency
      from cupy.cuda import get_cuda_path
  
      global _win32
  
      cudadevrt = get_cuda_path()
      if cudadevrt is None:
          raise RuntimeError("CUDA is not found.")
  
      if _win32:
          # rely on os.altsep
          cudadevrt += "/lib/x64/cudadevrt.lib"
      else:  # linux & osx: search twice as in cupy/install/build.py
          cudadevrt64 = cudadevrt + "/lib64/libcudadevrt.a"
          if not os.path.isfile(cudadevrt64):
              cudadevrt += "/lib/libcudadevrt.a"
          else:
              cudadevrt = cudadevrt64
      if not os.path.isfile(cudadevrt):
          raise RuntimeError(
              "Relocatable PTX code is requested, but cudadevrt "
              "is not found."
          )
      return cudadevrt
  
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 8 for calling a global function with example usage: _get_cudadevrt_path() and returns: cudadevrt, _cudadevrt