code: def test_array_vectorize_add(target, dev, dtype):
      arr_size = 64
      lanes = 2
      if "opencl" in target and dtype == "float16":
          pytest.xfail("Opencl target does not support float16")
  
      num_thread = 8
  
      A = te.placeholder(
          (arr_size,), name="A", dtype="%sx%d" % (dtype, lanes)
      )
      B = te.compute(
          (arr_size,),
          lambda i: A[i] + tvm.tir.const(1, A.dtype),
          name="B",
      )
      s = te.create_schedule(B.op)
      xo, xi = s[B].split(B.op.axis[0], factor=num_thread)
      s[B].bind(xo, te.thread_axis("blockIdx.x"))
      s[B].bind(xi, te.thread_axis("threadIdx.x"))
      fun = tvm.build(s, [A, B], target)
      a = tvm.nd.empty((arr_size,), A.dtype, dev).copyfrom(
          np.random.uniform(size=(arr_size, lanes))
      )
      c = tvm.nd.empty((arr_size,), B.dtype, dev)
      fun(a, c)
      tvm.testing.assert_allclose(c.numpy(), a.numpy() + 1)
  
imports: import os
  from posixpath import split
  import random
  import re
  import threading
  import numpy
  import pytest
  import tvm
  import tvm.testing
  from tvm import relay, te
  from tvm.topi.math import cast
  from tvm.script import tir, ir
  from tvm.tir import TensorIntrin, IntImm, Cast, Schedule
  from tvm.tir.tensor_intrin.cuda import WMMA_LOAD_16x16x16_F16_A_INTRIN, WMMA_LOAD_16x16x16_F16_B_INTRIN, WMMA_SYNC_16x16x16_f16f16f32_INTRIN, WMMA_FILL_16x16x16_F32_INTRIN, WMMA_STORE_16x16x16_F32_GLOBAL_INTRIN, WMMA_SYNC_16x16x16_f16f16f16_INTRIN, WMMA_FILL_16x16x16_F16_INTRIN, WMMA_STORE_16x16x16_F16_GLOBAL_INTRIN
label_desc: Use image node_id 3 for calling a global function with example usage: test_array_vectorize_add(target, dev, dtype) without return types