dpnp.empty_like

dpnp.empty_like(a, /, *, dtype=None, order='C', subok=False, shape=None, device=None, usm_type=None, sycl_queue=None)[source]

Return a new array with the same shape and type as a given array.

For full documentation refer to numpy.empty_like.

Parameters:
  • a ({dpnp_array, usm_ndarray}) -- The shape and dtype of a define these same attributes of the returned array.

  • dtype ({None, dtype}, optional) -- The desired dtype for the array, e.g., dpnp.int32. Default is the default floating point data type for the device where input array is allocated.

  • order ({"C", "F", None}, optional) -- Memory layout of the newly output array. Default: "C".

  • shape ({int, sequence of ints}) -- Overrides the shape of the result.

  • device ({None, string, SyclDevice, SyclQueue}, optional) -- An array API concept of device where the output array is created. The device can be None (the default), an OneAPI filter selector string, an instance of dpctl.SyclDevice corresponding to a non-partitioned SYCL device, an instance of dpctl.SyclQueue, or a Device object returned by dpnp.dpnp_array.dpnp_array.device property.

  • usm_type ({None, "device", "shared", "host"}, optional) -- The type of SYCL USM allocation for the output array. Default is None.

  • sycl_queue ({None, SyclQueue}, optional) -- A SYCL queue to use for output array allocation and copying.

Returns:

out -- Array of uninitialized data with the same shape and type as prototype.

Return type:

dpnp.ndarray

Limitations

Parameter order is supported only with values "C", "F" and None. Parameter subok is supported only with default value False. Otherwise, the function raises NotImplementedError exception.

See also

dpnp.ones_like

Return an array of ones with shape and type of input.

dpnp.zeros_like

Return an array of zeros with shape and type of input.

dpnp.full_like

Return a new array with shape of input filled with value.

dpnp.empty

Return a new uninitialized array.

Examples

>>> import dpnp as np
>>> a = np.array([1, 2, 3])
>>> np.empty_like(a)
array([1, 2, 3])

Creating an array on a different device or with a specified usm_type

>>> x = np.empty_like(a) # default case
>>> x.shape, x.device, x.usm_type
((3, ), Device(level_zero:gpu:0), 'device')
>>> y = np.empty_like(a, device="cpu")
>>> y.shape, y.device, y.usm_type
((3, ), Device(opencl:cpu:0), 'device')
>>> z = np.empty_like(a, usm_type="host")
>>> z.shape, z.device, z.usm_type
((3, ), Device(level_zero:gpu:0), 'host')