Classes | Namespaces | Typedefs | Functions
interop.hpp File Reference
#include <cudf/column/column.hpp>
#include <cudf/detail/transform.hpp>
#include <cudf/table/table.hpp>
#include <cudf/table/table_view.hpp>
#include <cudf/types.hpp>
#include <cudf/utilities/export.hpp>
#include <cudf/utilities/memory_resource.hpp>
#include <cudf/utilities/span.hpp>
#include <rmm/resource_ref.hpp>
#include <utility>

Go to the source code of this file.

Classes

struct  cudf::column_metadata
 Detailed metadata information for arrow array. More...
 
struct  cudf::custom_view_deleter< ViewType >
 functor for a custom deleter to a unique_ptr of table_view More...
 
class  cudf::interop::arrow_column
 A standard interchange medium for ArrowDeviceArray data in cudf. More...
 
class  cudf::interop::arrow_table
 A standard interchange medium for ArrowDeviceArray data in cudf. More...
 

Namespaces

 cudf
 cuDF interfaces
 

Typedefs

using cudf::unique_schema_t = std::unique_ptr< ArrowSchema, void(*)(ArrowSchema *)>
 typedef for a unique_ptr to an ArrowSchema with custom deleter
 
using cudf::unique_device_array_t = std::unique_ptr< ArrowDeviceArray, void(*)(ArrowDeviceArray *)>
 typedef for a unique_ptr to an ArrowDeviceArray with a custom deleter
 
using cudf::owned_columns_t = std::vector< std::unique_ptr< cudf::column > >
 typedef for a vector of owning columns, used for conversion from ArrowDeviceArray
 
using cudf::unique_table_view_t = std::unique_ptr< cudf::table_view, custom_view_deleter< cudf::table_view > >
 typedef for a unique_ptr to a cudf::table_view with custom deleter
 
using cudf::unique_column_view_t = std::unique_ptr< cudf::column_view, custom_view_deleter< cudf::column_view > >
 typedef for a unique_ptr to a cudf::column_view with custom deleter
 

Functions

std::unique_ptr< table > 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())
 Convert a DLPack DLTensor into a cudf table. More...
 
DLManagedTensor * cudf::to_dlpack (table_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Convert a cudf table into a DLPack DLTensor. More...
 
cudf::column_metadata cudf::interop::get_column_metadata (cudf::column_view const &input)
 Helper function to generate empty column metadata (column with no name) for arrow conversion. More...
 
std::vector< cudf::column_metadatacudf::interop::get_table_metadata (cudf::table_view const &input)
 Helper function to generate empty table metadata (all columns with no names) for arrow conversion. More...
 
unique_schema_t cudf::to_arrow_schema (cudf::table_view const &input, cudf::host_span< column_metadata const > metadata)
 Create ArrowSchema from cudf table and metadata. More...
 
unique_device_array_t cudf::to_arrow_device (cudf::table &&table, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create ArrowDeviceArray from cudf table and metadata. More...
 
unique_device_array_t cudf::to_arrow_device (cudf::column &&col, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create ArrowDeviceArray from cudf column and metadata. More...
 
unique_device_array_t cudf::to_arrow_device (cudf::table_view const &table, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create ArrowDeviceArray from a table view. More...
 
unique_device_array_t cudf::to_arrow_device (cudf::column_view const &col, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create ArrowDeviceArray from a column view. More...
 
unique_device_array_t cudf::to_arrow_host (cudf::table_view const &table, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Copy table view data to host and create ArrowDeviceArray for it. More...
 
unique_device_array_t cudf::to_arrow_host (cudf::column_view const &col, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Copy column view data to host and create ArrowDeviceArray for it. More...
 
std::unique_ptr< cudf::tablecudf::from_arrow (ArrowSchema const *schema, ArrowArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::table from given ArrowArray and ArrowSchema input. More...
 
std::unique_ptr< cudf::columncudf::from_arrow_column (ArrowSchema const *schema, ArrowArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::column from a given ArrowArray and ArrowSchema input. More...
 
std::unique_ptr< table > cudf::from_arrow_host (ArrowSchema const *schema, ArrowDeviceArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::table from given ArrowDeviceArray input. More...
 
std::unique_ptr< table > cudf::from_arrow_stream (ArrowArrayStream *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::table from given ArrowArrayStream input. More...
 
std::unique_ptr< column > cudf::from_arrow_host_column (ArrowSchema const *schema, ArrowDeviceArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::column from given ArrowDeviceArray input. More...
 
unique_table_view_t cudf::from_arrow_device (ArrowSchema const *schema, ArrowDeviceArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::table_view from given ArrowDeviceArray and ArrowSchema More...
 
unique_column_view_t cudf::from_arrow_device_column (ArrowSchema const *schema, ArrowDeviceArray const *input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Create cudf::column_view from given ArrowDeviceArray and ArrowSchema More...
 

Function Documentation

◆ get_column_metadata()

cudf::column_metadata cudf::interop::get_column_metadata ( cudf::column_view const &  input)

Helper function to generate empty column metadata (column with no name) for arrow conversion.

This function is helpful for internal conversions between host and device data using existing arrow functions. It is also convenient for external usage of the libcudf Arrow APIs to produce the canonical mapping from cudf column names to Arrow column names (i.e. empty names with appropriate nesting).

Parameters
inputThe column to generate metadata for
Returns
The metadata for the column

◆ get_table_metadata()

std::vector<cudf::column_metadata> cudf::interop::get_table_metadata ( cudf::table_view const &  input)

Helper function to generate empty table metadata (all columns with no names) for arrow conversion.

This function is helpful for internal conversions between host and device data using existing arrow functions. It is also convenient for external usage of the libcudf Arrow APIs to produce the canonical mapping from cudf column names to Arrow column names (i.e. empty names with appropriate nesting).

Parameters
inputThe table to generate metadata for
Returns
The metadata for the table