code: def test_conv2d_weight_on_buffers(
      remote, target, executor_type, dtype
  ):
      target = "opencl -device=adreno"
      input_shape = (1, 64, 75, 75)
      filter_shape = (64, 64, 3, 3)
      bias_shape = (64,)
      A = relay.var("data", shape=input_shape, dtype=dtype)
      W = relay.var("weight", shape=filter_shape, dtype=dtype)
      BS = relay.var("bias", shape=bias_shape, dtype=dtype)
      conv = relay.nn.conv2d(
          A, W, padding=[1, 1, 1, 1], channels=64, kernel_size=(3, 3)
      )
      conv = relay.nn.bias_add(conv, BS)
      conv = relay.op.nn.relu(conv)
  
      mod = relay.Function([A, W, BS], conv)
      np.random.seed(0)
      initializer = relay.testing.init.Xavier()
      filter_data = np.zeros(filter_shape).astype(dtype)
      bias_data = np.zeros(bias_shape).astype(dtype)
      initializer("weight", filter_data)
      initializer("bias", bias_data)
      params1 = {
          "weight": tvm.nd.array(filter_data),
          "bias": tvm.nd.array(bias_data),
      }
  
      if executor_type == "ge":
          static_memory_scope = [
              "",
              "global.texture",
              "global",
              "global.texture-weight",
              "",
              "",
          ]
          build_run_compare(
              remote,
              mod,
              params1,
              {"data": input_shape},
              {"data": dtype},
              target,
              static_memory_scope,
          )
      else:
          static_memory_scope = """
          VM VirtualDevice[0]: device type 1, id 0 and mem_scope
          VM VirtualDevice[1]: device type 4, id 0 and mem_scope
          VM VirtualDevice[2]: device type 4, id 0 and mem_scope global.texture
          VM VirtualDevice[3]: device type 4, id 0 and mem_scope global
          VM VirtualDevice[4]: device type 4, id 0 and mem_scope global.texture-weight
          """
          build_run_compare_vm(
              remote,
              mod,
              params1,
              {"data": input_shape},
              {"data": dtype},
              target,
              static_memory_scope,
          )
  
imports: import re
  import tvm
  import numpy
  from tvm import relay
  from tvm.relay import testing
  from tvm.contrib import utils
  from utils.adreno_utils import gpu_preprocess, build_run_compare, build_run_compare_vm
  import pytest
label_desc: Use image node_id 21 for calling a global function with example usage: test_conv2d_weight_on_buffers(remote, target, executor_type, dtype) without return types