code: def compile_hip(prg: str, arch="gfx1100") -> bytes:
      return compile_cuda_style(
          prg,
          [f"--offload-arch={arch}", "-I/opt/rocm/include"],
          hip.hiprtcProgram,
          hip.hiprtcCreateProgram,
          hip.hiprtcCompileProgram,
          hip.hiprtcGetCode,
          hip.hiprtcGetCodeSize,
          hip.hiprtcGetProgramLog,
          hip.hiprtcGetProgramLogSize,
          check,
      )
  
imports: from __future__ import annotations
  import ctypes, functools, subprocess, io
  from typing import Tuple, TypeVar, List
  import gpuctypes.hip
  from tinygrad.helpers import DEBUG, getenv, init_c_var, compile_cuda_style, encode_args_cuda_style, time_execution_cuda_style
  from tinygrad.helpers import from_mv, round_up, to_mv
  from tinygrad.device import Compiled, LRUAllocator, MallocAllocator
  from tinygrad.renderer.cstyle import HIPRenderer
  from tinygrad.codegen.kernel import LinearizerOptions
label_desc: Use image node_id 3 for calling a global function with example usage: compile_hip(prg, arch) and returns: compile_cuda_style