cupy.fromDlpack#

cupy.fromDlpack(dltensor) ndarray#

从 DLPack 张量到 ndarray 的零拷贝转换。

DLPack 是一种开放的内存张量结构,在此仓库中提出:dmlc/dlpack

此函数接受一个 PyCapsule 对象作为输入,该对象包含一个指向 DLPack 张量的指针,并返回一个 ndarray。此函数不会复制 DLPack 张量中的数据,但 DLPack 张量和 ndarray 都拥有指向同一内存区域的数据指针。

参数:

dltensor (PyCapsule) – 作为输入的 DLPack 张量,封装在 PyCapsule 对象中。

返回:

一个 CuPy ndarray。

返回类型:

array (ndarray)

警告

此函数已被弃用,请使用 from_dlpack() 代替,并将在未来的 CuPy 版本中移除。

警告

根据 DLPack v0.5 规范,隐含假设用户有责任确保生产者(Producer)和消费者(Consumer)在同一流(stream)上操作。

另请参阅

cupy.ndarray.toDlpack() 是一种从 ndarray 到 DLPack 张量(封装在 PyCapsule 对象中)的零拷贝转换方法。

示例

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