code: def tile(cls, op):
      tensor = op.outputs[0]
  
      chunk_length = (
          tensor.extra_params.raw_chunk_size or options.chunk_size
      )
      chunk_length = decide_chunk_sizes(
          tensor.shape, chunk_length, tensor.dtype.itemsize
      )
  
      start, stop, step = op.start, op.stop, op.step  # noqa: F841
  
      out_chunks = []
      n_elem = 0
      for i, cs in enumerate(chunk_length[0]):
          chunk_start = start + n_elem * step
          chunk_stop = start + (n_elem + cs) * step
          chunk_size = max(
              int(np.ceil((chunk_stop - chunk_start) / step)), 0
          )
          if chunk_size > cs:
              chunk_stop -= step
          chunk_shape = (cs,)
          chunk_idx = (i,)
          chunk_op = op.to_chunk_op(chunk_start, chunk_stop, step)
          out_chunk = chunk_op.new_chunk(
              None, shape=chunk_shape, index=chunk_idx
          )
          n_elem += cs
          out_chunks.append(out_chunk)
  
      new_op = op.copy()
      return new_op.new_tensors(
          op.inputs,
          tensor.shape,
          order=tensor.order,
          chunks=out_chunks,
          nsplits=chunk_length,
      )
  
file_path: mars/mars/tensor/datasource/arange.py
imports: import numpy
  from ...None import opcodes
  from ...serialization.serializables import AnyField
  from ...config import options
  from ..utils import decide_chunk_sizes
  from .core import TensorNoInput
  from ..array_utils import create_array
label_desc: Use image node_id 6 for calling the TensorArange obj's underlying member method code with example usage: obj.tile(cls, op) and returns: new_op