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
PyCapsuleobject 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 andndarrayhave pointers which are pointing to the same memory region for the data.- Parameters
dltensor (
PyCapsule) – Input DLPack tensor which is encapsulated in aPyCapsuleobject.- Returns
A CuPy ndarray.
- Return type
array (
ndarray)
See also
cupy.ndarray.toDlpack()is a method for zero-copy conversion from andarrayto a DLPack tensor (which is encapsulated in aPyCapsuleobject).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)