A standard interchange medium for ArrowDeviceArray data in cudf. More...
#include <interop.hpp>
A standard interchange medium for ArrowDeviceArray data in cudf.
This class provides a way to work with ArrowDeviceArray data in cudf without sacrificing the APIs expected of a cudf column. On the other end, it provides the shared lifetime management expected by arrow consumers rather than the single-owner mechanism of cudf::column.
Definition at line 232 of file interop.hpp.
cudf::interop::arrow_column::arrow_column | ( | cudf::column && | input, |
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() |
||
) |
Construct a new arrow column object.
The input column will be moved into the arrow_column, so it is no longer suitable for use afterwards.
input | cudf column to convert to arrow |
metadata | Column metadata for the column |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |
cudf::interop::arrow_column::arrow_column | ( | 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() |
||
) |
Construct a new arrow column object.
The input array will be moved into the arrow_column, so it is no longer suitable for use afterwards. For consistency, this is done even if the source array points to host data.
schema | Arrow schema for the column |
input | ArrowDeviceArray data for the column |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |
cudf::interop::arrow_column::arrow_column | ( | 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() |
||
) |
Construct a new arrow column object.
The input array will be released, so it is no longer suitable for use afterwards. This is done for consistency with other constructors of arrow_table even though the source data is always host data.
schema | Arrow schema for the column |
input | ArrowArray data for the column |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |
void cudf::interop::arrow_column::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 |
Convert the column to an ArrowDeviceArray.
output | ArrowDeviceArray to populate with the column's data |
device_type | ArrowDeviceType to set on the output |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |
void cudf::interop::arrow_column::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 |
Convert the column to an ArrowSchema.
The resulting schema is a deep copy of the arrow_column's schema and is not tied to its lifetime.
output | ArrowSchema to populate with the column's schema |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |
column_view cudf::interop::arrow_column::view | ( | ) | const |
Get a view of the column data.
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used for any allocations during conversion |