code: def _matmul_cublas_common(
      cfg,
      tensor_a,
      tensor_b,
      bias=None,
      out_dtype=None,
      transpose_a=False,
      transpose_b=False,
  ):
      assert (
          len(tensor_a.shape) == 2 and len(tensor_b.shape) == 2
      ), "only support 2-dim matmul"
      if bias is not None:
          assert len(bias.shape) == 1
      if out_dtype is None:
          out_dtype = tensor_a.dtype
      if out_dtype not in [tensor_a.dtype, "int32"]:
          assert (
              out_dtype == tensor_a.dtype
          ), "Mixed precision other than int8 + int32 not supported."
      batch, in_dim = get_const_tuple(tensor_a.shape)
      out_dim, _ = get_const_tuple(tensor_b.shape)
      matmul = cublas.matmul(
          tensor_a, tensor_b, transpose_a, transpose_b, dtype=out_dtype
      )
      if all(isinstance(d, int) for d in [batch, in_dim, out_dim]):
          cfg.add_flop(batch * in_dim * out_dim * 2)
      if bias is not None:
          matmul = te.compute(
              (batch, out_dim),
              lambda i, j: matmul[i, j] + bias[j],
              tag=tag.BROADCAST,
          )
      return matmul
  
file_path: tvm/python/tvm/topi/cuda/dense.py
imports: import logging
  import tvm
  from tvm import te, autotvm
  from tvm.contrib import cublas
  from .tensor_intrin import dp4a
  from ..None import tag
  from ..None import generic
  from ..utils import traverse_inline, get_const_tuple
label_desc: Use image node_id 1 for calling a global function with example usage: _matmul_cublas_common(cfg, tensor_a, tensor_b, bias, out_dtype, transpose_a, transpose_b) and returns: matmul