code: def _verify_cudnn_relay(expr):
      np.random.seed(42)
  
      mod = tvm.IRModule.from_expr(expr)
      mod = relay.transform.InferType()(mod)
      func = mod["main"]
      cudnn_mod = partition_for_cudnn(mod)
      assert len(cudnn_mod.get_global_vars()) == 2
  
      input_data = []
      for param in func.params:
          shape = [int(x) for x in param.checked_type.shape]
          input_data.append(
              (
                  param.name_hint,
                  np.random.uniform(-32, 32, size=shape).astype(
                      param.checked_type.dtype
                  ),
              )
          )
  
      cuda_config = (tvm.target.cuda(), tvm.cuda(), cudnn_mod)
      cpu_config = (tvm.target.Target("llvm"), tvm.cpu(), mod)
      outputs = []
      for target, dev, test_mod in [cuda_config, cpu_config]:
          with tvm.transform.PassContext(opt_level=3):
              lib = relay.build(
                  test_mod, target=target, target_host=cpu_config[0]
              )
              module = graph_executor.GraphModule(lib["default"](dev))
              for name, data in input_data:
                  module.set_input(name, tvm.nd.array(data, dev))
  
              module.run()
              out_type = func.body.checked_type
              outputs.append(
                  module.get_output(
                      0,
                      tvm.nd.empty(
                          out_type.shape, dtype=out_type.dtype
                      ),
                  ).numpy()
              )
  
      tvm.testing.assert_allclose(
          outputs[0],
          outputs[1],
          rtol=1e-2,
          atol=30,
      )
  
imports: import sys
  import pytest
  import tvm
  import tvm.testing
  from tvm import te
  from tvm import relay
  from tvm.contrib import cudnn
  from tvm.contrib.nvcc import have_fp16
  from tvm.contrib import graph_executor
  import numpy
  import tvm.topi.testing
  import tvm.testing
  from tvm.relay.op.contrib.cudnn import partition_for_cudnn
label_desc: Use image node_id 13 for calling a global function with example usage: _verify_cudnn_relay(expr) without return types