code: def test_get_tensorize_loop_mapping_matmul_mma():
      @T.prim_func
      def matmul_16x16x16xf16f16f16_desc(
          A: T.Buffer((16, 16), "float16", align=64, offset_factor=1),
          B: T.Buffer((16, 16), "float16", align=64, offset_factor=1),
          C: T.Buffer((16, 16), "float16", align=64, offset_factor=1),
      ) -> None:
          with T.block("root"):
              T.reads(C[0:16, 0:16], A[0:16, 0:16], B[0:16, 0:16])
              T.writes(C[0:16, 0:16])
              for i, j, k in T.grid(16, 16, 16):
                  with T.block("update"):
                      vii, vjj, vkk = T.axis.remap("SSR", [i, j, k])
                      C[vii, vjj] = (
                          C[vii, vjj] + A[vii, vkk] * B[vjj, vkk]
                      )
  
      matmul = create_prim_func(
          te_workload.matmul_relu(
              n=512,
              m=512,
              k=512,
          )
      )
  
      s = Schedule(matmul)
      block = s.get_block("C")
      i0, i1, i2 = s.get_loops(block)
      desc_loops = collect_loops(matmul_16x16x16xf16f16f16_desc)
  
      for do_reorder in [False, True]:
          # Mapping should be invariant to the loop permutation
          if do_reorder:
              s.reorder(i2, i0, i1)
  
          info = get_tensorize_loop_mapping(
              s, block, matmul_16x16x16xf16f16f16_desc
          )
          assert info is not None
          desc_loop_to_sref = dict(
              (v, k) for k, v in info.loop_map.items()
          )
  
          for i in range(3):
              assert desc_loops[i] in desc_loop_to_sref
  
          assert s.get(desc_loop_to_sref[desc_loops[0]]) == s.get(i0)
          assert s.get(desc_loop_to_sref[desc_loops[1]]) == s.get(i1)
          assert s.get(desc_loop_to_sref[desc_loops[2]]) == s.get(i2)
  
imports: from typing import List
  import pytest
  import tvm
  import tvm.testing
  from tvm.meta_schedule.testing import te_workload
  from tvm.script import tir
  from tvm.te import create_prim_func
  from tvm.tir import Evaluate, For, ForKind, IndexMap, Schedule, Var, decl_buffer, floordiv, floormod
  from tvm.tir.analysis import expr_deep_equal
  from tvm.tir.function import TensorIntrin
  from tvm.tir.schedule.analysis import TensorizeInfo, get_auto_tensorize_mapping_info, get_tensorize_loop_mapping, is_output_block, suggest_index_map
  from tvm.tir.stmt_functor import pre_order_visit
  from tvm.tir.tensor_intrin.cuda import WMMA_SYNC_16x16x16_f16f16f16_INTRIN, WMMA_SYNC_16x16x16_f16f16f32_INTRIN
  from tvm.tir.tensor_intrin.x86 import dot_product_16x4_u8i8i32_desc
label_desc: Use image node_id 9 for calling a global function with example usage: test_get_tensorize_loop_mapping_matmul_mma() without return types