code: def compile_aot_kernels(
      dir, kernel_path, dtype, BM, BN, BK, ha_hb_hints
  ):
      # compile all desired configs
      for ha in ha_hb_hints:
          for hb in ha_hb_hints:
              sig = f"*fp32:16, *{dtype}:16, *{dtype}:16, i32, i32, i32, i32{ha}, i32:1, i32{hb}, i32:1, i32:16, i32:1, {BM}, {BN}, {BK}"
              name = f"matmul_{dtype}"
              grid = f"M/{BM}, N/{BN}, 1"
              _compile_kernel(
                  dir=dir,
                  signature=sig,
                  kernel_name="kernel",
                  out_name=name,
                  out_path=name,
                  num_warps=1,
                  grid=grid,
                  kernel_path=kernel_path,
              )
  
imports: import glob
  import os
  import subprocess
  import sys
  import tempfile
  import numpy
  import triton
  from triton.backends.nvidia.driver import include_dir, library_dir
label_desc: Use image node_id 6 for calling a global function with example usage: compile_aot_kernels(dir, kernel_path, dtype, BM, BN, BK, ha_hb_hints) without return types