class_docstr: A helper class to manipulate the series of compute ops that make up an operator.
class_docstr_tok: ["A","helper","class","to","manipulate","the","series","of","compute","ops","that","make","up","an","operator","."]
code: def split(self, sch, axis, val):
      outer, inner = sch[self.write].split(
          self.write.op.axis[axis], val
      )
      iter_vars = [
          ax
          for ax in self.write.op.axis
          if ax != self.write.op.axis[axis]
      ]
      iter_vars.insert(axis, inner)
      sch[self.write].reorder(outer, *iter_vars)
      sch[self.write].unroll(outer)
      g = sch.create_group(
          outputs=self.convert_to_nhcwb16,
          inputs=self.read,
          include_inputs=True,
      )
      g.compute_at(sch[self.write], outer)
      return outer
  
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 3 for calling the OperatorCompute obj's underlying member method code with example usage: obj.split(sch, axis, val) and returns: outer