code: def _lower_conv2d_bias_act(
      op: relay.Call, inputs: List[te.Tensor]
  ) -> te.Tensor:
      """Lower a fused conv2d+bias+activation using cuDNN."""
      conv_dtype = op.checked_type.dtype
      if op.op.name == "nn.relu":
          activation_mode = 1  # Relu
          conv2d = op.args[0].args[0]
      else:
          activation_mode = 5  # Identity
          conv2d = op.args[0]
  
      conv_mode = 1
      tensor_format = 0
      algo = 1
      pad = conv2d.attrs["padding"]
      strides = conv2d.attrs["strides"]
      dilation = conv2d.attrs["dilation"]
      groups = conv2d.attrs["groups"]
  
      oshape = cudnn.conv_output_shape(
          tensor_format,
          pad,
          strides,
          dilation,
          inputs[0].shape,
          inputs[1].shape,
          inputs[0].dtype,
          conv_dtype,
          groups,
      )
  
      return te.extern(
          oshape,
          inputs,
          lambda ins, outs: tvm.tir.call_packed(
              "tvm.contrib.cudnn.conv2d+bias+act.forward",
              conv_mode,
              tensor_format,
              algo,
              pad[0],
              pad[1],
              strides[0],
              strides[1],
              dilation[0],
              dilation[1],
              activation_mode,
              0,
              ins[0],
              ins[1],
              ins[2],
              outs[0],
              conv_dtype,
              groups,
          ),
          name="y",
      )
  
file_path: tvm/python/tvm/relay/op/contrib/cudnn.py
imports: from typing import Callable, List, Tuple
  import tvm
  import tvm.ir
  from tvm import relay
  from tvm import te
  from tvm.relay import transform
  from tvm.contrib import cudnn
  from ...dataflow_pattern import is_op, wildcard
  from .te_target import lower_composite, relay_to_runtime
  from .register import register_pattern_table
label_desc: Use image node_id 5 for calling a global function with example usage: _lower_conv2d_bias_act(op, inputs) and returns: te