code: def test_reduction_and_dummy_fuse_split():
      n = 10
      X = te.placeholder(shape=(n,), dtype="int32", name="X")
      k = te.reduce_axis((0, n))
      Y = te.compute((), lambda: te.sum(X[k], k), name="Y")
      s = te.create_schedule([Y.op])
      ax = s[Y.op].fuse(*Y.op.axis)
      axo, axi = s[Y.op].split(ax, nparts=20)
      f = tvm.build(s, [Y, X])
  
      args = [tvm.nd.empty((), "int32")] + [
          tvm.nd.array(np.ones((n,), dtype="int32"))
      ]
      f(*args)
      assert args[0].numpy() == n
  
      n = 10
      X = te.placeholder(shape=(n,), dtype="int32", name="X")
      k = te.reduce_axis((0, n))
      Y = te.compute((n,), lambda i: te.sum(X[k], k), name="Y")
      s = te.create_schedule([Y.op])
      ax = s[Y.op].fuse(*(list(Y.op.axis) + list(Y.op.reduce_axis)))
      f = tvm.build(s, [Y, X])
  
      args = [tvm.nd.array(np.ones((n,), dtype="int32"))] + [
          tvm.nd.array(np.ones((n,), dtype="int32"))
      ]
      f(*args)
      assert np.all(args[0].numpy() == n)
  
imports: import numpy
  import tvm
  from tvm import te
  from tvm.driver.build_module import schedule_to_module
label_desc: Use image node_id 25 for calling a global function with example usage: test_reduction_and_dummy_fuse_split() without return types