code: def tile_nd(s, tensor, tile):
      """Scheduling utility to perform N-dimensional tiling.
  
      Parameters
      ----------
      s : tvm.te.Schedule
          The schedule to apply the tiling to.
      tensor : tvm.te.Tensor
          The tensor to apply the tiling to.
      tile : tuple
          The N-dimensional tile size.
  
      Returns
      -------
      outer_indices : list of tvm.tir.IterVar
          The outer iteration variables.
      inner_indices : list of tvm.tir.IterVar
          The inner iteration variables.
  
      """
      outer_indices = []
      inner_indices = []
      for i, size in enumerate(tile):
          outer, inner = s[tensor].split(tensor.op.axis[i], size)
          outer_indices.append(outer)
          inner_indices.append(inner)
  
      s[tensor].reorder(*outer_indices, *inner_indices)
      return outer_indices, inner_indices
  
file_path: tvm/python/tvm/relay/backend/contrib/ethosu/tir/scheduler.py
imports: import tvm
  from tvm.contrib.ethosu.cascader import Propagator
label_desc: Use image node_id 2 for calling a global function with example usage: tile_nd(s, tensor, tile) and returns: outer_indices,  inner_indices