code: def _default_batch_matmul_config(cfg, M, N, K):
      cfg["tile_k"] = SplitEntity([K // 16, 16])
      x_bn = get_max_power2_factor(N, 8)
      cfg["tile_x"] = SplitEntity([N // x_bn, x_bn])
      y_bn = get_max_power2_factor(M, 8)
      cfg["tile_y"] = SplitEntity([M // y_bn, y_bn])
  
imports: import tvm
  from tvm import autotvm, te
  from tvm.autotvm.task.space import SplitEntity
  from tvm.contrib import cblas, mkl
  from tvm.target.codegen import target_has_features
  from ..None import generic, nn
  from ..transform import layout_transform
  from ..utils import get_const_tuple, get_max_power2_factor, traverse_inline
  from .dense import dense_amx_int8_schedule, dense_int8_schedule
  from .injective import schedule_injective_from_existing
label_desc: Use image node_id 7 for calling a global function with example usage: _default_batch_matmul_config(cfg, M, N, K) without return types