code: def tile(cls, op):
      in_tensor = op.input
      out_tensor = op.outputs[0]
  
      out_chunks = []
      for c in in_tensor.chunks:
          chunk_op = op.copy().reset_key()
          chunk = chunk_op.new_chunk(
              [c], shape=c.shape, index=c.index, order=out_tensor.order
          )
          out_chunks.append(chunk)
  
      new_op = op.copy()
      return new_op.new_tensors(
          op.inputs,
          nsplits=in_tensor.nsplits,
          chunks=out_chunks,
          kws=[out_tensor.params],
      )
  
file_path: mars/mars/tensor/base/astype.py
imports: import numpy
  from ...None import opcodes
  from ...serialization.serializables import KeyField, StringField
  from ...utils import get_dtype
  from ..array_utils import as_same_device, device
  from ..operands import TensorHasInput, TensorOperandMixin
  from ..utils import get_order
label_desc: Use image node_id 6 for calling the TensorAstype obj's underlying member method code with example usage: obj.tile(cls, op) and returns: new_op