code: def _tile_chunks(cls, op, x, y):
      out = op.outputs[0]
      out_chunks = []
      for idx in itertools.product(
          range(x.chunk_shape[0]), range(y.chunk_shape[0])
      ):
          xi, yi = idx
  
          chunk_op = op.copy().reset_key()
          chunk_inputs = [x.cix[xi, 0], y.cix[yi, 0]]
          out_chunk = chunk_op.new_chunk(
              chunk_inputs,
              shape=(
                  chunk_inputs[0].shape[0],
                  chunk_inputs[1].shape[0],
              ),
              order=out.order,
              index=idx,
          )
          out_chunks.append(out_chunk)
  
      new_op = op.copy()
      return new_op.new_tensors(
          op.inputs,
          shape=out.shape,
          order=out.order,
          chunks=out_chunks,
          nsplits=(x.nsplits[0], y.nsplits[0]),
      )
  
file_path: mars/mars/learn/metrics/pairwise/core.py
imports: import itertools
  import numpy
  from ....core import recursive_tile
  from ....serialization.serializables import Int64Field
  from ....tensor.operands import TensorOperand, TensorOperandMixin
  from ....tensor import tensor
  from ....utils import has_unknown_shape
  from ...utils import check_array
label_desc: Use image node_id 4 for calling the PairwiseDistances obj's underlying member method code with example usage: obj._tile_chunks(cls, op, x, y) and returns: new_op