code: def wrap_compute_conv2d_gemm(topi_compute):
      """wrap topi compute for conv2d_gemm"""
  
      def _compute_conv2d_gemm(attrs, inputs, out_type):
          padding = attrs.get_int_tuple("padding")
          strides = attrs.get_int_tuple("strides")
          dilation = attrs.get_int_tuple("dilation")
          out_dtype = attrs.get_str("out_dtype")
          channels = attrs["channels"]
          kernel_size = attrs["kernel_size"]
          out_dtype = (
              inputs[0].dtype
              if out_dtype in ("same", "")
              else out_dtype
          )
          return [
              topi_compute(
                  inputs[0],
                  inputs[1],
                  strides,
                  padding,
                  dilation,
                  out_dtype,
                  kernel_size,
                  channels,
              )
          ]
  
      return _compute_conv2d_gemm
  
imports: from functools import reduce
  import logging
  import re
  from tvm import relay, topi, tir
  from ....auto_scheduler import is_auto_scheduler_enabled
  from ....meta_schedule import is_meta_schedule_enabled
  from ....topi.generic import conv2d
  from ..None import op
  from .generic import *
label_desc: Use image node_id 12 for calling a global function with example usage: wrap_compute_conv2d_gemm(topi_compute) and returns: _compute_conv2d_gemm, list