code: def test_loop_partition_unroll_hint():
      @T.prim_func
      def main(
          A_arg: T.Buffer((1, 3, 224, 224), "int8"),
          B_arg: T.Buffer((1, 224, 7, 16), "int8"),
      ) -> None:
          A = T.Buffer(150528, "int8", data=A_arg.data)
          B = T.Buffer(25088, "int8", data=B_arg.data)
          for ax0 in T.serial(
              112,
              annotations={"pragma_loop_partition_hint": True},
          ):
              for ax1, ax2, ax3 in T.grid(224, 7, 16):
                  if (
                      3 <= ax0 * 2 + ax2
                      and ax0 * 2 + ax2 < 227
                      and ax3 < 3
                  ):
                      B[ax1 * 112 + ax2 * 16 + ax3] = A[
                          ax3 * 50176 + ax1 * 224 + ax0 * 2 + ax2 - 3
                      ]
  
      @T.prim_func
      def partitioned_main(
          A_arg: T.Buffer((1, 3, 224, 224), "int8"),
          B_arg: T.Buffer((1, 224, 7, 16), "int8"),
      ) -> None:
          A = T.Buffer(150528, dtype="int8", data=A_arg.data)
          B = T.Buffer(25088, dtype="int8", data=B_arg.data)
          # body
          for ax1, ax2, ax3 in T.grid(224, 7, 16):
              if 3 <= ax2 and ax3 < 3:
                  B[ax1 * 112 + ax2 * 16 + ax3] = A[
                      ax3 * 50176 + ax1 * 224 + ax2 - 3
                  ]
          for ax1, ax2, ax3 in T.grid(224, 7, 16):
              if 1 <= ax2 and ax3 < 3:
                  B[ax1 * 112 + ax2 * 16 + ax3] = A[
                      ax3 * 50176 + ax1 * 224 + ax2 - 1
                  ]
          for ax0, ax1, ax2, ax3 in T.grid(109, 224, 7, 16):
              if ax3 < 3:
                  B[ax1 * 112 + ax2 * 16 + ax3] = A[
                      ax3 * 50176 + ax1 * 224 + ax0 * 2 + ax2 + 1
                  ]
          for ax1, ax2, ax3 in T.grid(224, 7, 16):
              if ax2 < 5 and ax3 < 3:
                  B[ax1 * 112 + ax2 * 16 + ax3] = A[
                      ax3 * 50176 + ax1 * 224 + ax2 + 219
                  ]
  
      mod = partition_from_scheduled_tir(
          main,
          {
              "tir.LoopPartition": {
                  "partition_const_loop": True,
                  "unroll_loop_with_partition_hint_no_interval": True,
              }
          },
      )
      mod = tvm.tir.transform.UnrollLoop()(mod)
      mod = tvm.tir.transform.RemoveNoOp()(mod)
      mod = tvm.tir.transform.Simplify()(mod)
      assert tvm.ir.structural_equal(
          mod["main"],
          partitioned_main.with_attr("global_symbol", "main"),
      )
  
imports: import pytest
  import tvm
  import tvm.testing
  from tvm import te
  from tvm.ir.module import IRModule
  from tvm.script import tir
  import numpy
label_desc: Use image node_id 29 for calling a global function with example usage: test_loop_partition_unroll_hint() without return types