cupy.fromDlpack(dltensor) → ndarray

Zero-copy conversion from a DLPack tensor to a ndarray.

DLPack is a open in memory tensor structure proposed in this repository: dmlc/dlpack.

This function takes a PyCapsule object which contains a pointer to a DLPack tensor as input, and returns a ndarray. This function does not copy the data in the DLPack tensor but both DLPack tensor and ndarray have pointers which are pointing to the same memory region for the data.


dltensor (PyCapsule) – Input DLPack tensor which is encapsulated in a PyCapsule object.


A CuPy ndarray.

Return type

array (ndarray)

See also

cupy.ndarray.toDlpack() is a method for zero-copy conversion from a ndarray to a DLPack tensor (which is encapsulated in a PyCapsule object).


>>> import cupy
>>> array1 = cupy.array([0, 1, 2], dtype=cupy.float32)
>>> dltensor = array1.toDlpack()
>>> array2 = cupy.fromDlpack(dltensor)
>>> cupy.testing.assert_array_equal(array1, array2)