cupy.asarray(a, dtype=None, order=None, *, blocking=False)[source]#

Converts an object to array.

This is equivalent to array(a, dtype, copy=False, order=order).

  • a – The source object.

  • dtype – Data type specifier. It is inferred from the input by default.

  • order ({'C', 'F', 'A', 'K'}) – Whether to use row-major (C-style) or column-major (Fortran-style) memory representation. Defaults to 'K'. order is ignored for objects that are not cupy.ndarray, but have the __cuda_array_interface__ attribute.

  • blocking (bool) – Default is False, meaning if a H2D copy is needed it would run asynchronously on the current stream, and users are responsible for ensuring the stream order. For example, writing to the source a without proper ordering while copying would result in a race condition. If set to True, the copy is synchronous (with respect to the host).


An array on the current device. If a is already on the device, no copy is performed.

Return type:



If a is an numpy.ndarray instance that contains big-endian data, this function automatically swaps its byte order to little-endian, which is the NVIDIA and AMD GPU architecture’s native use.

See also