code: def test_measure_special_inputs_map_by_name_local_runner():
      @auto_scheduler.register_workload
      def foo():
          X = te.placeholder(shape=[10], dtype="int32")
          Index = te.placeholder(shape=[1], dtype="int32", name="Index")
          Y = te.compute((1,), lambda i: X[Index[i]])
          return [X, Index, Y]
  
      # This workload cannot use random input for the `Index` input
      task = auto_scheduler.SearchTask(
          func=foo,
          target="llvm",
          task_inputs={
              "Index": tvm.nd.array(np.array([5], dtype="int32")),
          },
      )
  
      minp = auto_scheduler.MeasureInput(
          task, task.compute_dag.init_state
      )
      local_builder = auto_scheduler.LocalBuilder()
      local_runner = auto_scheduler.LocalRunner(timeout=10)
  
      bress = local_builder.build([minp])
      assert bress[0].error_no == 0
      mress = local_runner.run([minp], bress)
      assert mress[0].error_no == 0
  
imports: import json
  import multiprocessing
  import numpy
  import tvm
  from tvm import topi
  from tvm import te, auto_scheduler
  import tempfile
  import tvm.testing
  import pickle
  from tvm.testing.auto_scheduler import matmul_auto_scheduler_test
  from tvm.auto_scheduler import workload_registry
label_desc: Use image node_id 15 for calling a global function with example usage: test_measure_special_inputs_map_by_name_local_runner() and returns: list