code: def _default_dense_nopack_config(cfg, M, N, K):
      # Generate default schedule for dynamic shape.
      if isinstance(M, (tvm.tir.Var, tvm.tir.Any)):
          M = 16
      if isinstance(N, (tvm.tir.Var, tvm.tir.Any)):
          N = 16
      if isinstance(K, (tvm.tir.Var, tvm.tir.Any)):
          K = 16
  
      vec_width = get_simd_32bit_lanes()
      tilek_bn = 1
      for bn in range(vec_width * 2, 0, -1):
          if K % bn == 0:
              tilek_bn = bn
              break
      cfg["tile_k"] = SplitEntity([K // tilek_bn, tilek_bn])
      cfg["tile_x"] = SplitEntity([N, 1])
      cfg["tile_y"] = SplitEntity([1, M])
  
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 4 for calling a global function with example usage: _default_dense_nopack_config(cfg, M, N, K) without return types