Classes | Namespaces | Enumerations | Functions

Column APIs for gather, scatter, split, slice, etc. More...

#include <cudf/column/column_view.hpp>
#include <cudf/lists/lists_column_view.hpp>
#include <cudf/scalar/scalar.hpp>
#include <cudf/strings/strings_column_view.hpp>
#include <cudf/structs/structs_column_view.hpp>
#include <cudf/table/table.hpp>
#include <cudf/types.hpp>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

struct  cudf::packed_columns
 Column data in a serialized format. More...
 
struct  cudf::packed_columns::metadata
 Host-side metadata buffer used for reconstructing columns via unpack. More...
 
struct  cudf::packed_table
 The result(s) of a contiguous_split More...
 

Namespaces

 cudf
 cuDF interfaces
 

Enumerations

enum  cudf::out_of_bounds_policy : bool { cudf::out_of_bounds_policy::NULLIFY, cudf::out_of_bounds_policy::DONT_CHECK }
 Policy to account for possible out-of-bounds indices. More...
 
enum  cudf::mask_allocation_policy { cudf::mask_allocation_policy::NEVER, cudf::mask_allocation_policy::RETAIN, cudf::mask_allocation_policy::ALWAYS }
 Indicates when to allocate a mask, based on an existing mask. More...
 
enum  cudf::sample_with_replacement : bool { cudf::sample_with_replacement::FALSE, cudf::sample_with_replacement::TRUE }
 Indicates whether a row can be sampled more than once. More...
 

Functions

std::unique_ptr< table > cudf::gather (table_view const &source_table, column_view const &gather_map, out_of_bounds_policy bounds_policy=out_of_bounds_policy::DONT_CHECK, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Gathers the specified rows (including null values) of a set of columns. More...
 
std::unique_ptr< table > cudf::reverse (table_view const &source_table, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Reverses the rows within a table. Creates a new table that is the reverse of source_table. Example: More...
 
std::unique_ptr< column > cudf::reverse (column_view const &source_column, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Reverses the elements of a column Creates a new column that is the reverse of source_column. Example: More...
 
std::unique_ptr< table > cudf::scatter (table_view const &source, column_view const &scatter_map, table_view const &target, bool check_bounds=false, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Scatters the rows of the source table into a copy of the target table according to a scatter map. More...
 
std::unique_ptr< table > cudf::scatter (std::vector< std::reference_wrapper< const scalar >> const &source, column_view const &indices, table_view const &target, bool check_bounds=false, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Scatters a row of scalar values into a copy of the target table according to a scatter map. More...
 
std::unique_ptr< column > cudf::empty_like (column_view const &input)
 Initializes and returns an empty column of the same type as the input. More...
 
std::unique_ptr< column > cudf::empty_like (scalar const &input)
 Initializes and returns an empty column of the same type as the input. More...
 
std::unique_ptr< column > cudf::allocate_like (column_view const &input, mask_allocation_policy mask_alloc=mask_allocation_policy::RETAIN, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates an uninitialized new column of the same size and type as the input. Supports only fixed-width types. More...
 
std::unique_ptr< column > cudf::allocate_like (column_view const &input, size_type size, mask_allocation_policy mask_alloc=mask_allocation_policy::RETAIN, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates an uninitialized new column of the specified size and same type as the input. Supports only fixed-width types. More...
 
std::unique_ptr< table > cudf::empty_like (table_view const &input_table)
 Creates a table of empty columns with the same types as the input_table More...
 
void cudf::copy_range_in_place (column_view const &source, mutable_column_view &target, size_type source_begin, size_type source_end, size_type target_begin)
 Copies a range of elements in-place from one column to another. More...
 
std::unique_ptr< column > cudf::copy_range (column_view const &source, column_view const &target, size_type source_begin, size_type source_end, size_type target_begin, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies a range of elements out-of-place from one column to another. More...
 
std::unique_ptr< column > cudf::shift (column_view const &input, size_type offset, scalar const &fill_value, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a new column by shifting all values by an offset. More...
 
std::vector< column_view > cudf::slice (column_view const &input, host_span< size_type const > indices)
 Slices a column_view into a set of column_views according to a set of indices. More...
 
std::vector< column_view > cudf::slice (column_view const &input, std::initializer_list< size_type > indices)
 Slices a column_view into a set of column_views according to a set of indices. More...
 
std::vector< table_view > cudf::slice (table_view const &input, host_span< size_type const > indices)
 Slices a table_view into a set of table_views according to a set of indices. More...
 
std::vector< table_view > cudf::slice (table_view const &input, std::initializer_list< size_type > indices)
 Slices a table_view into a set of table_views according to a set of indices. More...
 
std::vector< column_view > cudf::split (column_view const &input, host_span< size_type const > splits)
 Splits a column_view into a set of column_views according to a set of indices derived from expected splits. More...
 
std::vector< column_view > cudf::split (column_view const &input, std::initializer_list< size_type > splits)
 Splits a column_view into a set of column_views according to a set of indices derived from expected splits. More...
 
std::vector< table_view > cudf::split (table_view const &input, host_span< size_type const > splits)
 Splits a table_view into a set of table_views according to a set of indices derived from expected splits. More...
 
std::vector< table_view > cudf::split (table_view const &input, std::initializer_list< size_type > splits)
 Splits a table_view into a set of table_views according to a set of indices derived from expected splits. More...
 
std::vector< packed_table > cudf::contiguous_split (cudf::table_view const &input, std::vector< size_type > const &splits, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a deep-copy split of a table_view into a set of table_views into a single contiguous block of memory. More...
 
packed_columns cudf::pack (cudf::table_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Deep-copy a table_view into a serialized contiguous memory format. More...
 
packed_columns::metadata cudf::pack_metadata (table_view const &table, uint8_t const *contiguous_buffer, size_t buffer_size)
 Produce the metadata used for packing a table stored in a contiguous buffer. More...
 
table_view cudf::unpack (packed_columns const &input)
 Deserialize the result of cudf::pack More...
 
table_view cudf::unpack (uint8_t const *metadata, uint8_t const *gpu_data)
 Deserialize the result of cudf::pack More...
 
std::unique_ptr< column > cudf::copy_if_else (column_view const &lhs, column_view const &rhs, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a new column, where each element is selected from either lhs or rhs based on the value of the corresponding element in boolean_mask. More...
 
std::unique_ptr< column > cudf::copy_if_else (scalar const &lhs, column_view const &rhs, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a new column, where each element is selected from either lhs or rhs based on the value of the corresponding element in boolean_mask. More...
 
std::unique_ptr< column > cudf::copy_if_else (column_view const &lhs, scalar const &rhs, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a new column, where each element is selected from either lhs or rhs based on the value of the corresponding element in boolean_mask. More...
 
std::unique_ptr< column > cudf::copy_if_else (scalar const &lhs, scalar const &rhs, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a new column, where each element is selected from either lhs or rhs based on the value of the corresponding element in boolean_mask. More...
 
std::unique_ptr< table > cudf::boolean_mask_scatter (table_view const &input, table_view const &target, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Scatters rows from the input table to rows of the output corresponding to true values in a boolean mask. More...
 
std::unique_ptr< table > cudf::boolean_mask_scatter (std::vector< std::reference_wrapper< const scalar >> const &input, table_view const &target, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Scatters scalar values to rows of the output corresponding to true values in a boolean mask. More...
 
std::unique_ptr< scalar > cudf::get_element (column_view const &input, size_type index, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Get the element at specified index from a column. More...
 
std::unique_ptr< table > cudf::sample (table_view const &input, size_type const n, sample_with_replacement replacement=sample_with_replacement::FALSE, int64_t const seed=0, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Gather n samples from given input randomly. More...
 
bool cudf::has_nonempty_nulls (column_view const &input)
 Checks if a column or its descendants have non-empty null rows. More...
 
bool cudf::may_have_nonempty_nulls (column_view const &input)
 Approximates if a column or its descendants may have non-empty null elements. More...
 
std::unique_ptr< column > cudf::purge_nonempty_nulls (lists_column_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies input, purging any non-empty null rows in the column or its descendants. More...
 
std::unique_ptr< column > cudf::purge_nonempty_nulls (strings_column_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies input, purging any non-empty null rows in the column or its descendants. More...
 
std::unique_ptr< column > cudf::purge_nonempty_nulls (structs_column_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies input, purging any non-empty null rows in the column or its descendants. More...
 

Detailed Description

Column APIs for gather, scatter, split, slice, etc.

Definition in file copying.hpp.