文件 | 函数

文件

文件  interop.hpp
 

函数

std::unique_ptr< cudf::from_dlpack (DLManagedTensor const *managed_tensor, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将 DLPack DLTensor 转换为 cudf 表。 更多...
 
DLManagedTensor * cudf::to_dlpack (表视图 const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将 cudf 表转换为 DLPack DLTensor。 更多...
 

详细说明

函数文档

◆ from_dlpack()

std::unique_ptr<> cudf::from_dlpack ( DLManagedTensor const *  managed_tensor,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将 DLPack DLTensor 转换为 cudf 表。

DLTensor 的 device_type 必须是 kDLCPUkDLCudakDLCUDAHost,并且 device_id 必须与当前设备匹配。ndim 必须设置为 1 或 2。dtype 必须有 1 个通道,并且 bitsize 必须与支持的 cudf::data_type 匹配。

注意
此函数不会删除托管的 tensor。
异常
cudf::logic_error如果 DLTensor 的任何字段不受支持
参数
managed_tensor一个 1D 或 2D 列主序 (Fortran order) tensor
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回表的设备内存的设备内存资源
返回
包含 tensor 数据副本的表

◆ to_dlpack()

DLManagedTensor* cudf::to_dlpack ( 表视图 const &  input,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将 cudf 表转换为 DLPack DLTensor。

所有列必须具有相同的数据类型,且此类型必须是数字类型。列可能可为空,但 null 计数必须为零。如果输入表为空或行数为零,结果将为 nullptr。

注意
必须使用返回的 DLManagedTensordeleter 方法来释放为 tensor 分配的内存。
异常
cudf::logic_error如果数据类型不相等或不是数字类型,或任何列的 null 计数非零
参数
input要转换为 DLPack 的表
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回的 DLPack tensor 的设备内存的设备内存资源
返回
包含表数据副本的 1D 或 2D DLPack tensor,或 nullptr