code: def test_gemm_case():
      hidden_size = kt.hidden_dim
      batch, seq_len = kt.bs_sl()
      bs = batch * seq_len
      inpA = kt.rand([bs, hidden_size])
      inpB = kt.rand([hidden_size, hidden_size])
      outC = kt.zeros([bs, hidden_size]).clone().detach()
  
      cus_inpA = inpA.clone().detach().cpu().numpy()
      cus_inpB = inpB.clone().detach().cpu().numpy()
      print(f"torch threads: {torch.get_num_threads()}")
  
      def custom():
          x86_kernel_module.test_simple_gemm(cus_inpA, cus_inpB, outC)
          return [outC.clone().detach()]
  
      base_inpA = inpA.clone()
      base_inpB = inpB.clone()
  
      def baseline():
          base_out = torch.mm(base_inpA, base_inpB)
          return [base_out]
  
      return custom, baseline
  
imports: import os, sys
  import torch
  import numpy
  from pytorch.builder.x86_kernel_builder import X86KernelBuilder
  from util import TestDecorator
label_desc: Use image node_id 1 for calling a global function with example usage: test_gemm_case() and returns: custom,  baseline, list, list