code: def dense_schedule(outs, ins, output_layout: str, input_layout: str):
      """Schedule for dense op.
  
      Parameters
      ----------
      outs: Array of Tensor
          The computation graph description of dense in the format
          of an array of tensors.
  
      ins: Array of Tensor
          Input tensors into graph.
  
      output_layout: str
          Descriptor string for physical layout
  
      input_layout: str
          Descriptor string for physical layout
  
      Returns
      -------
      sch: Schedule
          The computation schedule for the op.
      """
      if not isinstance(ins, list):
          ins = [ins]
      if not isinstance(outs, list):
          outs = [outs]
  
      func = te.create_prim_func([*ins, *outs])
      s = tir.Schedule(func)
  
      matmul = s.get_block("matmul_sliced")
      try:
          bias = s.get_block("bias")
      except tir.schedule.schedule.ScheduleError:
          bias = None
  
      input_transform_fn = get_layout_transform_fn(input_layout)
      output_transform_fn = get_layout_transform_fn(output_layout)
  
      # No bias
      if bias is None:
          s.transform_layout(matmul, ("read", 0), input_transform_fn)
          # s.transform_layout(matmul, ("read", 1), input_transform_fn)
          s.transform_layout(matmul, ("write", 0), output_transform_fn)
      else:
          s.transform_layout(matmul, ("read", 0), input_transform_fn)
          s.transform_layout(bias, ("write", 0), output_transform_fn)
  
      _, matmul_c, _ = s.get_loops(matmul)
      _, matmul_c_inner = s.split(matmul_c, [None, 64])
      s.vectorize(matmul_c_inner)
  
      if bias is not None:
          _, bias_c = s.get_loops(bias)
          _, bias_c_inner = s.split(bias_c, [None, 64])
          s.vectorize(bias_c_inner)
  
      return s
  
imports: from tvm import te, tir
  from tvm.topi import tag
  from ..utils import get_layout_transform_fn
label_desc: Use image node_id 2 for calling a global function with example usage: dense_schedule(outs, ins, output_layout, input_layout) and returns: s