cupy.fromDlpack¶
-
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 andarray
. This function does not copy the data in the DLPack tensor but both DLPack tensor andndarray
have pointers which are pointing to the same memory region for the data.- Parameters
dltensor (
PyCapsule
) – Input DLPack tensor which is encapsulated in aPyCapsule
object.- Returns
A CuPy ndarray.
- Return type
array (
ndarray
)
See also
cupy.ndarray.toDlpack()
is a method for zero-copy conversion from andarray
to a DLPack tensor (which is encapsulated in aPyCapsule
object).Warning
As of the DLPack v0.3 specification, it is (implicitly) assumed that the user is responsible to ensure the Producer and the Consumer are operating on the same stream. This requirement might be relaxed/changed in a future DLPack version.
Example
>>> 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)