dpnp.empty_like

dpnp.empty_like(a, /, *, dtype=None, order='K', 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.ndarray, 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 ({None, "C", "F", "A", "K"}, optional) -- Memory layout of the newly output array. order=None is an alias for order="K". Default: "K".

  • shape ({None, 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: None.

  • sycl_queue ({None, SyclQueue}, optional) -- A SYCL queue to use for output array allocation and copying. The sycl_queue can be passed as None (the default), which means to get the SYCL queue from device keyword if present or to use a default queue. Default: None.

Returns:

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

Return type:

dpnp.ndarray

Limitations

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')