code: def verify_split(src_shape, indices_or_sections, axis):
      A = te.placeholder(shape=src_shape, name="A")
      tensor_l = topi.split(A, indices_or_sections, axis=axis)
  
      def check_device(target, dev):
          print("Running on target: %s" % target)
          with tvm.target.Target(target):
              s = tvm.topi.testing.get_injective_schedule(target)(
                  tensor_l
              )
  
          foo = tvm.build(s, [A] + list(tensor_l), target, name="split")
          data_npy = np.random.normal(size=src_shape).astype(A.dtype)
          out_npys = np.split(data_npy, indices_or_sections, axis=axis)
          data_nd = tvm.nd.array(data_npy, dev)
          out_nds = [
              tvm.nd.empty(
                  out_npy.shape, device=dev, dtype=tensor_l[0].dtype
              )
              for out_npy in out_npys
          ]
          foo(*([data_nd] + out_nds))
          for out_nd, out_npy in zip(out_nds, out_npys):
              tvm.testing.assert_allclose(out_nd.numpy(), out_npy)
  
      for target, dev in tvm.testing.enabled_targets():
          check_device(target, dev)
  
imports: import numpy
  import pytest
  import tvm
  from tvm import te
  from tvm import topi
  from tvm import relay
  import tvm.topi.testing
  from tvm.contrib.nvcc import have_fp16
  import tvm.testing
label_desc: Use image node_id 8 for calling a global function with example usage: verify_split(src_shape, indices_or_sections, axis) without return types