code: def dense_int8_schedule(cfg, s, C, O, do_parallel=True):
      """Schedule dense compute using avx512 or lower instructions
      including VNNI vpdpbusd instruction if possible"""
  
      # C: The output of GEMM
      # O: The output of the fused op
      def split_y(out):
          default_y_split_factor = 32
          a_y = out.op.axis[-2]
  
          if cfg.is_fallback:
              return s[out].split(a_y, factor=default_y_split_factor)
  
          cfg.define_split("tile_y", a_y, num_outputs=2)
          return cfg["tile_y"].apply(s, out, a_y)
  
      (a_k,) = C.op.reduce_axis
  
      a_yo, a_yi = split_y(C)
      a_xo, a_xi = s[C].split(C.op.axis[-1], factor=16)
      a_ko, a_ki = s[C].split(a_k, factor=4)
  
      s[C].reorder(a_yo, a_xo, a_yi, a_ko, a_xi, a_ki)
  
      pc = dot_16x1x16_uint8_int8_int32()
      s[C].tensorize(a_xi, pc)
  
      if C == O:
          fused = s[O].fuse(a_yo, a_xo)
      else:
          a_yo, a_yi = split_y(O)
          a_xo, a_xi = s[O].split(O.op.axis[-1], factor=16)
  
          s[O].reorder(a_yo, a_xo, a_yi, a_xi)
          s[O].vectorize(a_xi)
          s[C].compute_at(s[O], a_yi)
  
          fused = s[O].fuse(a_yo, a_xo)
  
      if do_parallel:
          s[O].parallel(fused)
  
      return s, fused
  
imports: from __future__ import absolute_import
  import tvm
  from tvm import autotvm, te
  from tvm.autotvm.task.space import SplitEntity
  from tvm.contrib import cblas, dnnl, mkl
  from tvm.target.x86 import get_simd_32bit_lanes
  from tvm.target.codegen import target_has_features
  from ..None import generic, tag
  from ..utils import get_const_tuple, traverse_inline
  from .tensor_intrin import acc_32x32_int32_sapphirerapids, dot_16x1x16_uint8_int8_int32, dot_32x128x32_u8s8s32_sapphirerapids
label_desc: Use image node_id 12 for calling a global function with example usage: dense_int8_schedule(cfg, s, C, O, do_parallel) and returns: s,  fused, cfg, s