cudf 中用于 ArrowDeviceArray 数据的标准交换媒介。更多...
#include <interop.hpp>
cudf 中用于 ArrowDeviceArray 数据的标准交换媒介。
此类提供了一种在 cudf 中使用 ArrowDeviceArray 数据的方式,同时不牺牲 cudf 表所期望的 API。另一方面,它提供了 arrow 消费者所期望的共享生命周期管理,而不是 cudf::table 的单一所有者机制。
定义于 interop.hpp 文件第 337 行。
cudf::interop::arrow_table::arrow_table | ( | cudf::table && | input, |
cudf::host_span< column_metadata const > | metadata, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
构造新的 arrow table 对象。
输入的表将被移动到 arrow_table 中,因此之后不再适合使用。
input | 要转换为 arrow 的 cudf 表 |
metadata | 列和子级的名称层级 |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
cudf::interop::arrow_table::arrow_table | ( | ArrowSchema && | schema, |
ArrowDeviceArray && | input, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
构造新的 arrow table 对象。
输入的数组将被移动到 arrow_table 中,因此之后不再适合使用。为了保持一致性,即使源数组指向主机数据,也会执行此操作。
schema | 表的 Arrow schema |
input | 表的 ArrowDeviceArray 数据 |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
cudf::interop::arrow_table::arrow_table | ( | ArrowSchema && | schema, |
ArrowArray && | input, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
构造新的 arrow table 对象。
输入的数组将被释放,因此之后不再适合使用。为了与 arrow_table 的其他构造函数保持一致性,即使源数据始终是主机数据,也会执行此操作。
schema | 表的 Arrow schema |
input | 表的 ArrowArray 数据 |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
cudf::interop::arrow_table::arrow_table | ( | ArrowArrayStream && | input, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
构造新的 arrow table 对象。
创建表后,流将被释放,因此之后不再适合使用。为了与 arrow_table 的其他构造函数保持一致性,即使源数据始终是主机数据,也会执行此操作。
input | 表的 ArrowArrayStream 数据 |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
void cudf::interop::arrow_table::to_arrow | ( | ArrowDeviceArray * | output, |
ArrowDeviceType | device_type = ARROW_DEVICE_CUDA , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) | const |
将表转换为 ArrowDeviceArray。
output | 用于填充表数据的 ArrowDeviceArray |
device_type | 要在输出上设置的 ArrowDeviceType |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
void cudf::interop::arrow_table::to_arrow_schema | ( | ArrowSchema * | output, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) | const |
将表转换为 ArrowSchema。
生成的 schema 是 arrow_column schema 的深拷贝,并且不与其生命周期绑定。
output | 用于填充表 schema 的 ArrowSchema |
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |
table_view cudf::interop::arrow_table::view | ( | ) | const |
获取表数据的视图。
stream | 用于设备内存操作和内核启动的 CUDA stream |
mr | 转换期间用于任何分配的设备内存资源 |