code: def compile_cuda(prg: str, arch="sm_35") -> bytes:
      return compile_cuda_style(
          prg,
          [
              f"--gpu-architecture={arch}",
              "-I/usr/local/cuda/include",
              "-I/usr/include",
              "-I/opt/cuda/include/",
          ],
          cuda.nvrtcProgram,
          cuda.nvrtcCreateProgram,
          cuda.nvrtcCompileProgram,
          cuda.nvrtcGetPTX,
          cuda.nvrtcGetPTXSize,
          cuda.nvrtcGetProgramLog,
          cuda.nvrtcGetProgramLogSize,
          check,
      )
  
imports: from __future__ import annotations
  import subprocess, hashlib, tempfile, ctypes, ctypes.util, functools, re
  from pathlib import Path
  from typing import Tuple, Optional
  import gpuctypes.cuda
  from tinygrad.helpers import DEBUG, getenv, from_mv, init_c_var, colored, cpu_time_execution, compile_cuda_style, encode_args_cuda_style, time_execution_cuda_style
  from tinygrad.device import Compiled, LRUAllocator, MallocAllocator
  from tinygrad.codegen.kernel import LinearizerOptions
  from tinygrad.renderer.cstyle import CUDARenderer
label_desc: Use image node_id 4 for calling a global function with example usage: compile_cuda(prg, arch) and returns: compile_cuda_style