code: def ascontiguousarray(a, dtype=None, chunk_size=None):
      """
      Return a contiguous tensor (ndim >= 1) in memory (C order).
  
      Parameters
      ----------
      a : array_like
          Input tensor.
      dtype : str or dtype object, optional
          Data-type of returned tensor.
      chunk_size: int, tuple, optional
          Specifies chunk size for each dimension.
  
      Returns
      -------
      out : Tensor
          Contiguous tensor of same shape and content as `a`, with type `dtype`
          if specified.
  
      See Also
      --------
      asfortranarray : Convert input to a tensor with column-major
                       memory order.
      Tensor.flags : Information about the memory layout of the tensor.
  
      Examples
      --------
      >>> import mars.tensor as mt
      >>> x = mt.arange(6).reshape(2,3)
      >>> mt.ascontiguousarray(x, dtype=mt.float32)
      array([[ 0.,  1.,  2.],
             [ 3.,  4.,  5.]], dtype=float32)
      >>> x.flags['C_CONTIGUOUS']
      True
  
      Note: This function returns a tensor with at least one-dimension (1-d)
      so it will not preserve 0-d tensors.
  
      """
  
      return array(
          a,
          dtype,
          copy=False,
          order="C",
          ndmin=1,
          chunk_size=chunk_size,
      )
  
imports: import numpy
  from ...None import opcodes
  from ...lib.sparse.core import issparse, get_array_module, cp, cps, sps
  from ...lib.sparse import SparseNDArray
  from ...serialization.serializables import FieldTypes, AnyField, NDArrayField, TupleField
  from ...utils import on_serialize_shape, on_deserialize_shape
  from ..core import TENSOR_TYPE, TensorOrder, TensorData, Tensor
  from ..utils import get_chunk_slices
  from ..array_utils import array_module, is_array, is_cupy
  from .core import TensorNoInput
  from .scalar import scalar
label_desc: Use image node_id 5 for calling a global function with example usage: ascontiguousarray(a, dtype, chunk_size) and returns: array