code: def test_specialize_matmul():
      a, _, _, n = matmul.params
      # fully specialized
      func = matmul.specialize({a: tvm.tir.decl_buffer((128, 128))})
      assert_structural_equal_ignore_global_symbol(func, matmul_128)
      # partially specialized
      func = matmul.specialize({n: 128})
      assert_structural_equal_ignore_global_symbol(func, matmul_m_128)
      # symbolic specialized
      func = matmul.specialize({n: tvm.tir.Var("x", "int32") * 8})
      assert_structural_equal_ignore_global_symbol(func, matmul_m_8x)
  
imports: import tvm
  from tvm.script import tir
  from tvm.tir.schedule.testing import assert_structural_equal_ignore_global_symbol
label_desc: Use image node_id 12 for calling a global function with example usage: test_specialize_matmul() without return types