code: def demo_template():
      """Initial demo template"""
      size_m, size_n, size_k = [1024] * 3
      input1 = te.placeholder((size_m, size_k), dtype="float32")
      input2 = te.placeholder((size_n, size_k), dtype="float32")
      k = te.reduce_axis((0, 1024), name="k")
      output = te.compute(
          (size_m, size_n),
          lambda i, j: te.sum(input1[i, k] * input2[j, k], axis=[k]),
      )
  
      s = te.create_schedule(output.op)
      cfg = autotvm.get_config()
  
      _, _ = s[output].op.axis
      (k_iter,) = s[output].op.reduce_axis
  
      cfg.define_split("k_split", k_iter, num_outputs=2)
      _, _ = cfg["k_split"].apply(s, output, k_iter)
  
      return s, [input1, input2, output]
  
file_path: tvm/tests/python/contrib/test_hexagon/test_autotvm.py
imports: import contextlib
  import os
  import pytest
  import tvm
  import tvm.testing
  from tvm import autotvm, te
  from tvm.autotvm.tuner import GATuner, XGBTuner
  from .infrastructure import get_hexagon_target
label_desc: Use image node_id 1 for calling a global function with example usage: demo_template() and returns: s,  list