Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
cudf Namespace Reference

cuDF interfaces More...

Namespaces

 dictionary
 Dictionary column APIs.
 
 groupby
 groupby APIs
 
 hashing
 Hash APIs.
 
 io
 IO interfaces.
 
 lists
 Lists column APIs.
 
 strings
 Strings column APIs.
 
 tdigest
 Tdigest interfaces.
 

Classes

class  aggregation
 Abstract base class for specifying the desired aggregation in an aggregation_request. More...
 
class  rolling_aggregation
 Derived class intended for rolling_window specific aggregation usage. More...
 
class  groupby_aggregation
 Derived class intended for groupby specific aggregation usage. More...
 
class  groupby_scan_aggregation
 Derived class intended for groupby specific scan usage. More...
 
class  reduce_aggregation
 Derived class intended for reduction usage. More...
 
class  scan_aggregation
 Derived class intended for scan usage. More...
 
class  segmented_reduce_aggregation
 Derived class intended for segmented reduction usage. More...
 
class  column
 A container of nullable device data as a column of elements. More...
 
struct  nullate
 Indicates the presence of nulls at compile-time or runtime. More...
 
class  column_device_view
 An immutable, non-owning view of device data as a column of elements that is trivially copyable and usable in CUDA device code. More...
 
class  mutable_column_device_view
 A mutable, non-owning view of device data as a column of elements that is trivially copyable and usable in CUDA device code. More...
 
class  column_view
 A non-owning, immutable view of device data as a column of elements, some of which may be null as indicated by a bitmask. More...
 
class  mutable_column_view
 A non-owning, mutable view of device data as a column of elements, some of which may be null as indicated by a bitmask. More...
 
struct  packed_columns
 Column data in a serialized format. More...
 
struct  packed_table
 The result(s) of a cudf::contiguous_split. More...
 
class  chunked_pack
 Perform a chunked "pack" operation of the input table_view using a user provided buffer of size user_buffer_size. More...
 
class  dictionary_column_view
 A wrapper class for operations on a dictionary column. More...
 
struct  column_metadata
 Detailed metadata information for arrow array. More...
 
class  hash_join
 Hash join that builds hash table in creation and probes results in subsequent *_join member functions. More...
 
class  distinct_hash_join
 Distinct hash join that builds hash table in creation and probes results in subsequent *_join member functions. More...
 
class  get_json_object_options
 Settings for get_json_object(). More...
 
class  list_device_view
 A non-owning, immutable view of device data that represents a list of elements of arbitrary type (including further nested lists). More...
 
struct  list_size_functor
 Returns the size of the list by row index. More...
 
class  list_view
 A non-owning, immutable view of device data that represents a list of elements of arbitrary type (including further nested lists). More...
 
class  lists_column_view
 Given a column-view of lists type, an instance of this class provides a wrapper on this compound column for list operations. More...
 
struct  range_window_bounds
 Abstraction for window boundary sizes, to be used with grouped_range_rolling_window(). More...
 
struct  window_bounds
 Abstraction for window boundary sizes. More...
 
class  scalar
 An owning class to represent a singular value. More...
 
class  numeric_scalar
 An owning class to represent a numerical value in device memory. More...
 
class  fixed_point_scalar
 An owning class to represent a fixed_point number in device memory. More...
 
class  string_scalar
 An owning class to represent a string in device memory. More...
 
class  chrono_scalar
 An owning class to represent a timestamp/duration value in device memory. More...
 
class  timestamp_scalar
 An owning class to represent a timestamp value in device memory. More...
 
class  duration_scalar
 An owning class to represent a duration value in device memory. More...
 
class  list_scalar
 An owning class to represent a list value in device memory. More...
 
class  struct_scalar
 An owning class to represent a struct value in device memory. More...
 
class  numeric_scalar_device_view
 A type of scalar_device_view that stores a pointer to a numerical value. More...
 
class  fixed_point_scalar_device_view
 A type of scalar_device_view that stores a pointer to a fixed_point value. More...
 
class  string_scalar_device_view
 A type of scalar_device_view that stores a pointer to a string value. More...
 
class  timestamp_scalar_device_view
 A type of scalar_device_view that stores a pointer to a timestamp value. More...
 
class  duration_scalar_device_view
 A type of scalar_device_view that stores a pointer to a duration value. More...
 
class  string_view
 A non-owning, immutable view of device data that is a variable length char array representing a UTF-8 string. More...
 
class  strings_column_view
 Given a column-view of strings type, an instance of this class provides a wrapper on this compound column for strings operations. More...
 
class  struct_view
 A non-owning, immutable view of device data that represents a struct with fields of arbitrary types (including primitives, lists, and other structs) More...
 
class  structs_column_view
 Given a column view of struct type, an instance of this class provides a wrapper on this compound column for struct operations. More...
 
class  element_equality_comparator
 Performs an equality comparison between two elements in two columns. More...
 
class  row_equality_comparator
 Performs a relational comparison between two elements in two tables. More...
 
class  element_relational_comparator
 Performs a relational comparison between two elements in two columns. More...
 
class  row_lexicographic_comparator
 Computes whether one row is lexicographically less than another row. More...
 
class  element_hasher
 Computes the hash value of an element in the given column. More...
 
class  element_hasher_with_seed
 Function object for computing the hash value of a row in a column. More...
 
class  row_hasher
 Computes the hash value of a row in the given table. More...
 
class  table
 A set of cudf::column's of the same size. More...
 
class  table_device_view
 Table device view that is usable in device memory. More...
 
class  mutable_table_device_view
 Mutable table device view that is usable in device memory. More...
 
class  table_view
 A set of cudf::column_view's of the same size. More...
 
class  mutable_table_view
 A set of mutable_column_views of the same size. More...
 
struct  order_info
 Indicates how a collection of values has been ordered. More...
 
class  data_type
 Indicator for the logical data type of an element in a column. More...
 
struct  stacktrace_recorder
 The struct to store the current stacktrace upon its construction. More...
 
struct  logic_error
 Exception thrown when logical precondition is violated. More...
 
struct  cuda_error
 Exception thrown when a CUDA error is encountered. More...
 
struct  fatal_cuda_error
 
struct  data_type_error
 Exception thrown when an operation is attempted on an unsupported dtype. More...
 
struct  is_host_span_supported_container
 
struct  is_host_span_supported_container< std::vector< T, Alloc > >
 
struct  is_host_span_supported_container< thrust::host_vector< T, Alloc > >
 
struct  is_host_span_supported_container< std::basic_string< T, std::char_traits< T >, Alloc > >
 
struct  host_span
 C++20 std::span with reduced feature set. More...
 
struct  is_device_span_supported_container
 
struct  is_device_span_supported_container< thrust::device_vector< T, Alloc > >
 
struct  is_device_span_supported_container< rmm::device_vector< T > >
 
struct  is_device_span_supported_container< rmm::device_uvector< T > >
 
struct  device_span
 Device version of C++20 std::span with reduced feature set. More...
 
struct  has_atomic_support_impl
 
struct  is_convertible
 
struct  is_convertible< cudf::detail::timestamp< Duration1 >, cudf::detail::timestamp< Duration2 > >
 
struct  type_to_name_impl
 Maps a cudf::type_id types to its corresponding C++ type name string.
 
struct  id_to_type_impl
 
struct  dispatch_storage_type
 Use this specialization on type_dispatcher whenever you only need to operate on the underlying stored type. More...
 
struct  type_to_scalar_type_impl
 
struct  type_to_scalar_type_impl< std::string >
 
struct  type_to_scalar_type_impl< cudf::string_view >
 
struct  type_to_scalar_type_impl< numeric::decimal32 >
 
struct  type_to_scalar_type_impl< numeric::decimal64 >
 
struct  type_to_scalar_type_impl< numeric::decimal128 >
 
struct  type_to_scalar_type_impl< cudf::dictionary32 >
 
struct  type_to_scalar_type_impl< cudf::list_view >
 
struct  type_to_scalar_type_impl< cudf::struct_view >
 
struct  dictionary_wrapper
 A strongly typed wrapper for indices in a DICTIONARY type column. More...
 

Typedefs

using hash_value_type = uint32_t
 Type of hash value.
 
using char_utf8 = uint32_t
 UTF-8 characters are 1-4 bytes.
 
using size_type = int32_t
 Row index type for columns and tables.
 
using bitmask_type = uint32_t
 Bitmask type stored as 32-bit unsigned integer.
 
using valid_type = uint8_t
 Valid type in host memory.
 
using thread_index_type = int64_t
 Thread index type in kernels.
 
template<typename... >
using void_t = void
 Utility metafunction that maps a sequence of any types to the type void.
 
template<typename L , typename R >
using less_comparable = decltype(std::declval< L >()< std::declval< R >())
 Checks if two types are comparable using less operator (i.e. <).
 
template<typename L , typename R >
using greater_comparable = decltype(std::declval< L >() > std::declval< R >())
 Checks if two types are comparable using greater operator (i.e. >).
 
template<typename L , typename R >
using equality_comparable = decltype(std::declval< L >()==std::declval< R >())
 Checks if two types are comparable using equality operator (i.e. ==).
 
template<typename... Ts>
using has_common_type = typename detail::has_common_type_impl< void, Ts... >::type
 Checks if types have a common type.
 
template<typename T >
using is_timestamp_t = cuda::std::disjunction< std::is_same< cudf::timestamp_D, T >, std::is_same< cudf::timestamp_s, T >, std::is_same< cudf::timestamp_ms, T >, std::is_same< cudf::timestamp_us, T >, std::is_same< cudf::timestamp_ns, T > >
 Checks if a type is a timestamp type.
 
template<typename T >
using is_duration_t = cuda::std::disjunction< std::is_same< cudf::duration_D, T >, std::is_same< cudf::duration_s, T >, std::is_same< cudf::duration_ms, T >, std::is_same< cudf::duration_us, T >, std::is_same< cudf::duration_ns, T > >
 Checks if a type is a duration type.
 
template<cudf::type_id Id>
using id_to_type = typename id_to_type_impl< Id >::type
 Maps a cudf::type_id to its corresponding concrete C++ type. More...
 
template<typename T >
using device_storage_type_t = std::conditional_t< std::is_same_v< numeric::decimal32, T >, int32_t, std::conditional_t< std::is_same_v< numeric::decimal64, T >, int64_t, std::conditional_t< std::is_same_v< numeric::decimal128, T >, __int128_t, T > >>
 "Returns" the corresponding type that is stored on the device when using cudf::column More...
 
template<typename T >
using scalar_type_t = typename type_to_scalar_type_impl< T >::ScalarType
 Maps a C++ type to the scalar type required to hold its value. More...
 
template<typename T >
using scalar_device_type_t = typename type_to_scalar_type_impl< T >::ScalarDeviceType
 Maps a C++ type to the scalar device type required to hold its value. More...
 
using dictionary32 = dictionary_wrapper< int32_t >
 32-bit integer indexed dictionary wrapper
 
using duration_D = cuda::std::chrono::duration< int32_t, cuda::std::chrono::days::period >
 Type alias representing an int32_t duration of days.
 
using duration_h = cuda::std::chrono::duration< int32_t, cuda::std::chrono::hours::period >
 Type alias representing an int32_t duration of hours.
 
using duration_m = cuda::std::chrono::duration< int32_t, cuda::std::chrono::minutes::period >
 Type alias representing an int32_t duration of minutes.
 
using duration_s = cuda::std::chrono::duration< int64_t, cuda::std::chrono::seconds::period >
 Type alias representing an int64_t duration of seconds.
 
using duration_ms = cuda::std::chrono::duration< int64_t, cuda::std::chrono::milliseconds::period >
 Type alias representing an int64_t duration of milliseconds.
 
using duration_us = cuda::std::chrono::duration< int64_t, cuda::std::chrono::microseconds::period >
 Type alias representing an int64_t duration of microseconds.
 
using duration_ns = cuda::std::chrono::duration< int64_t, cuda::std::chrono::nanoseconds::period >
 Type alias representing an int64_t duration of nanoseconds.
 
using timestamp_D = detail::timestamp< cudf::duration_D >
 Type alias representing a cudf::duration_D (int32_t) since the unix epoch.
 
using timestamp_h = detail::timestamp< cudf::duration_h >
 Type alias representing a cudf::duration_h (int32_t) since the unix epoch.
 
using timestamp_m = detail::timestamp< cudf::duration_m >
 Type alias representing a cudf::duration_m (int32_t) since the unix epoch.
 
using timestamp_s = detail::timestamp< cudf::duration_s >
 Type alias representing a cudf::duration_s (int64_t) since the unix epoch.
 
using timestamp_ms = detail::timestamp< cudf::duration_ms >
 Type alias representing a cudf::duration_ms (int64_t) since the unix epoch.
 
using timestamp_us = detail::timestamp< cudf::duration_us >
 Type alias representing a cudf::duration_us (int64_t) since the unix epoch.
 
using timestamp_ns = detail::timestamp< cudf::duration_ns >
 Type alias representing a cudf::duration_ns (int64_t) since the unix epoch.
 

Enumerations

enum class  rank_method : int32_t {
  FIRST , AVERAGE , MIN , MAX ,
  DENSE
}
 Tie-breaker method to use for ranking the column. More...
 
enum class  rank_percentage : int32_t { NONE , ZERO_NORMALIZED , ONE_NORMALIZED }
 Whether returned rank should be percentage or not and mention the type of percentage normalization. More...
 
enum class  udf_type : bool { CUDA , PTX }
 Type of code in the user defined function string.
 
enum class  correlation_type : int32_t { PEARSON , KENDALL , SPEARMAN }
 Type of correlation method.
 
enum class  binary_operator : int32_t {
  ADD , SUB , MUL , DIV ,
  TRUE_DIV , FLOOR_DIV , MOD , PMOD ,
  PYMOD , POW , INT_POW , LOG_BASE ,
  ATAN2 , SHIFT_LEFT , SHIFT_RIGHT , SHIFT_RIGHT_UNSIGNED ,
  BITWISE_AND , BITWISE_OR , BITWISE_XOR , LOGICAL_AND ,
  LOGICAL_OR , EQUAL , NOT_EQUAL , LESS ,
  GREATER , LESS_EQUAL , GREATER_EQUAL , NULL_EQUALS ,
  NULL_MAX , NULL_MIN , GENERIC_BINARY , NULL_LOGICAL_AND ,
  NULL_LOGICAL_OR , INVALID_BINARY
}
 Types of binary operations that can be performed on data. More...
 
enum class  out_of_bounds_policy : bool { NULLIFY , DONT_CHECK }
 Policy to account for possible out-of-bounds indices. More...
 
enum class  mask_allocation_policy : int32_t { NEVER , RETAIN , ALWAYS }
 Indicates when to allocate a mask, based on an existing mask. More...
 
enum class  sample_with_replacement : bool { FALSE , TRUE }
 Indicates whether a row can be sampled more than once. More...
 
enum class  hash_id { HASH_IDENTITY = 0 , HASH_MURMUR3 , HASH_SPARK_MURMUR3 , HASH_MD5 }
 Identifies the hash function to be used. More...
 
enum class  has_nested : bool { YES , NO }
 Enum to indicate whether the distinct join table has nested columns or not.
 
enum class  nullable_join : bool { YES , NO }
 The enum class to specify if any of the input join tables (build table and any later probe table) has nulls. More...
 
enum class  inclusive { YES , NO }
 Enum used to define whether or not bins include their boundary points.
 
enum class  scan_type : bool { INCLUSIVE , EXCLUSIVE }
 Enum to describe scan operation type.
 
enum class  replace_policy : bool { PRECEDING , FOLLOWING }
 Policy to specify the position of replacement values relative to null rows. More...
 
enum class  flip_endianness : bool { NO , YES }
 Configures whether byte casting flips endianness.
 
enum class  rounding_method : int32_t { HALF_UP , HALF_EVEN }
 Different rounding methods for cudf::round More...
 
enum class  duplicate_keep_option { KEEP_ANY = 0 , KEEP_FIRST , KEEP_LAST , KEEP_NONE }
 Choices for drop_duplicates API for retainment of duplicate rows. More...
 
enum class  weak_ordering { LESS , EQUIVALENT , GREATER }
 Result type of the element_relational_comparator function object. More...
 
enum class  order : bool { ASCENDING , DESCENDING }
 Indicates the order in which elements should be sorted. More...
 
enum class  null_policy : bool { EXCLUDE , INCLUDE }
 Enum to specify whether to include nulls or exclude nulls. More...
 
enum class  nan_policy : bool { NAN_IS_NULL , NAN_IS_VALID }
 Enum to treat NaN floating point value as null or non-null element. More...
 
enum class  nan_equality { ALL_EQUAL , UNEQUAL }
 Enum to consider different elements (of floating point types) holding NaN value as equal or unequal. More...
 
enum class  null_equality : bool { EQUAL , UNEQUAL }
 Enum to consider two nulls as equal or unequal. More...
 
enum class  null_order : bool { AFTER , BEFORE }
 Indicates how null values compare against all other values. More...
 
enum class  sorted : bool { NO , YES }
 Indicates whether a collection of values is known to be sorted.
 
enum class  mask_state : int32_t { UNALLOCATED , UNINITIALIZED , ALL_VALID , ALL_NULL }
 Controls the allocation/initialization of a null mask. More...
 
enum class  interpolation : int32_t {
  LINEAR , LOWER , HIGHER , MIDPOINT ,
  NEAREST
}
 Interpolation method to use when the desired quantile lies between two data points i and j. More...
 
enum class  type_id : int32_t {
  EMPTY , INT8 , INT16 , INT32 ,
  INT64 , UINT8 , UINT16 , UINT32 ,
  UINT64 , FLOAT32 , FLOAT64 , BOOL8 ,
  TIMESTAMP_DAYS , TIMESTAMP_SECONDS , TIMESTAMP_MILLISECONDS , TIMESTAMP_MICROSECONDS ,
  TIMESTAMP_NANOSECONDS , DURATION_DAYS , DURATION_SECONDS , DURATION_MILLISECONDS ,
  DURATION_MICROSECONDS , DURATION_NANOSECONDS , DICTIONARY32 , STRING ,
  LIST , DECIMAL32 , DECIMAL64 , DECIMAL128 ,
  STRUCT , NUM_TYPE_IDS
}
 Identifies a column's logical element type. More...
 
enum class  unary_operator : int32_t {
  SIN , COS , TAN , ARCSIN ,
  ARCCOS , ARCTAN , SINH , COSH ,
  TANH , ARCSINH , ARCCOSH , ARCTANH ,
  EXP , LOG , SQRT , CBRT ,
  CEIL , FLOOR , ABS , RINT ,
  BIT_INVERT , NOT
}
 Types of unary operations that can be performed on data. More...
 

Functions

template<typename Base = aggregation>
std::unique_ptr< Base > make_sum_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_product_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_min_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_max_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_count_aggregation (null_policy null_handling=null_policy::EXCLUDE)
 Factory to create a COUNT aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_any_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_all_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_histogram_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_sum_of_squares_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_mean_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_m2_aggregation ()
 Factory to create a M2 aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_variance_aggregation (size_type ddof=1)
 Factory to create a VARIANCE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_std_aggregation (size_type ddof=1)
 Factory to create a STD aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_median_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_quantile_aggregation (std::vector< double > const &quantiles, interpolation interp=interpolation::LINEAR)
 Factory to create a QUANTILE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_argmax_aggregation ()
 Factory to create an ARGMAX aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_argmin_aggregation ()
 Factory to create an ARGMIN aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_nunique_aggregation (null_policy null_handling=null_policy::EXCLUDE)
 Factory to create a NUNIQUE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_nth_element_aggregation (size_type n, null_policy null_handling=null_policy::INCLUDE)
 Factory to create a NTH_ELEMENT aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_row_number_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_rank_aggregation (rank_method method, order column_order=order::ASCENDING, null_policy null_handling=null_policy::EXCLUDE, null_order null_precedence=null_order::AFTER, rank_percentage percentage=rank_percentage::NONE)
 Factory to create a RANK aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_collect_list_aggregation (null_policy null_handling=null_policy::INCLUDE)
 Factory to create a COLLECT_LIST aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_collect_set_aggregation (null_policy null_handling=null_policy::INCLUDE, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL)
 Factory to create a COLLECT_SET aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_lag_aggregation (size_type offset)
 Factory to create a LAG aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_lead_aggregation (size_type offset)
 Factory to create a LEAD aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_udf_aggregation (udf_type type, std::string const &user_defined_aggregator, data_type output_type)
 Factory to create an aggregation base on UDF for PTX or CUDA. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_merge_lists_aggregation ()
 Factory to create a MERGE_LISTS aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_merge_sets_aggregation (null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL)
 Factory to create a MERGE_SETS aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_merge_m2_aggregation ()
 Factory to create a MERGE_M2 aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_merge_histogram_aggregation ()
 Factory to create a MERGE_HISTOGRAM aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_covariance_aggregation (size_type min_periods=1, size_type ddof=1)
 Factory to create a COVARIANCE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > make_correlation_aggregation (correlation_type type, size_type min_periods=1)
 Factory to create a CORRELATION aggregation. More...
 
template<typename Base >
std::unique_ptr< Base > make_tdigest_aggregation (int max_centroids=1000)
 Factory to create a TDIGEST aggregation. More...
 
template<typename Base >
std::unique_ptr< Base > make_merge_tdigest_aggregation (int max_centroids=1000)
 Factory to create a MERGE_TDIGEST aggregation. More...
 
std::unique_ptr< columnbinary_operation (scalar const &lhs, column_view const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a binary operation between a scalar and a column. More...
 
std::unique_ptr< columnbinary_operation (column_view const &lhs, scalar const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a binary operation between a column and a scalar. More...
 
std::unique_ptr< columnbinary_operation (column_view const &lhs, column_view const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a binary operation between two columns. More...
 
std::unique_ptr< columnbinary_operation (column_view const &lhs, column_view const &rhs, std::string const &ptx, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a binary operation between two columns using a user-defined PTX function. More...
 
int32_t binary_operation_fixed_point_scale (binary_operator op, int32_t left_scale, int32_t right_scale)
 Computes the scale for a fixed_point number based on given binary operator op More...
 
cudf::data_type binary_operation_fixed_point_output_type (binary_operator op, cudf::data_type const &lhs, cudf::data_type const &rhs)
 Computes the data_type for a fixed_point number based on given binary operator op More...
 
std::unique_ptr< columnmake_empty_column (data_type type)
 Creates an empty column of the specified type. More...
 
std::unique_ptr< columnmake_empty_column (type_id id)
 Creates an empty column of the specified type. More...
 
std::unique_ptr< columnmake_numeric_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified numeric data_type with an optional null mask. More...
 
template<typename B >
std::unique_ptr< columnmake_numeric_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified numeric data_type with a null mask. More...
 
std::unique_ptr< columnmake_fixed_point_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified fixed_point data_type with an optional null mask. More...
 
template<typename B >
std::unique_ptr< columnmake_fixed_point_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified fixed_point data_type with a null mask. More...
 
std::unique_ptr< columnmake_timestamp_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified timestamp data_type with an optional null mask. More...
 
template<typename B >
std::unique_ptr< columnmake_timestamp_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified timestamp data_type with a null mask. More...
 
std::unique_ptr< columnmake_duration_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified duration data_type with an optional null mask. More...
 
template<typename B >
std::unique_ptr< columnmake_duration_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified duration data_type with a null mask. More...
 
std::unique_ptr< columnmake_fixed_width_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified fixed width data_type with an optional null mask. More...
 
template<typename B >
std::unique_ptr< columnmake_fixed_width_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct column with sufficient uninitialized storage to hold size elements of the specified fixed width data_type with a null mask. More...
 
std::unique_ptr< columnmake_strings_column (cudf::device_span< thrust::pair< char const *, size_type > const > strings, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a STRING type column given a device span of pointer/size pairs. More...
 
std::unique_ptr< columnmake_strings_column (cudf::device_span< string_view const > string_views, string_view const null_placeholder, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a STRING type column given a device span of string_view. More...
 
std::unique_ptr< columnmake_strings_column (size_type num_strings, std::unique_ptr< column > offsets_column, rmm::device_buffer &&chars_buffer, size_type null_count, rmm::device_buffer &&null_mask)
 Construct a STRING type column given offsets column, chars columns, and null mask and null count. More...
 
std::unique_ptr< cudf::columnmake_lists_column (size_type num_rows, std::unique_ptr< column > offsets_column, std::unique_ptr< column > child_column, size_type null_count, rmm::device_buffer &&null_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a LIST type column given offsets column, child column, null mask and null count. More...
 
std::unique_ptr< cudf::columnmake_structs_column (size_type num_rows, std::vector< std::unique_ptr< column >> &&child_columns, size_type null_count, rmm::device_buffer &&null_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a STRUCT column using specified child columns as members. More...
 
std::unique_ptr< columnmake_column_from_scalar (scalar const &s, size_type size, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a column with size elements that are all equal to the given scalar. More...
 
std::unique_ptr< columnmake_dictionary_from_scalar (scalar const &s, size_type size, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a dictionary column with size elements that are all equal to the given scalar. More...
 
size_type count_descendants (column_view parent)
 Counts the number of descendants of the specified parent. More...
 
column_view bit_cast (column_view const &input, data_type type)
 Zero-copy cast between types with the same size and compatible underlying representations. More...
 
mutable_column_view bit_cast (mutable_column_view const &input, data_type type)
 Zero-copy cast between types with the same size and compatible underlying representations. More...
 
rmm::device_buffer concatenate_masks (host_span< column_view const > views, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Concatenates views[i]'s bitmask from the bits [views[i].offset(), views[i].offset() + views[i].size()) for all elements views into an rmm::device_buffer More...
 
std::unique_ptr< columnconcatenate (host_span< column_view const > columns_to_concat, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Concatenates multiple columns into a single column. More...
 
std::unique_ptr< tableconcatenate (host_span< table_view const > tables_to_concat, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Columns of tables_to_concat are concatenated vertically to return a single table. More...
 
std::vector< packed_tablecontiguous_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 vector of packed_table where each packed_table is using a single contiguous block of memory for all of the split's column data. More...
 
packed_columns 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...
 
std::vector< uint8_t > 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 unpack (packed_columns const &input)
 Deserialize the result of cudf::pack. More...
 
table_view unpack (uint8_t const *metadata, uint8_t const *gpu_data)
 Deserialize the result of cudf::pack. More...
 
std::unique_ptr< tablegather (table_view const &source_table, column_view const &gather_map, out_of_bounds_policy bounds_policy=out_of_bounds_policy::DONT_CHECK, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< tablereverse (table_view const &source_table, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Reverses the rows within a table. More...
 
std::unique_ptr< columnreverse (column_view const &source_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Reverses the elements of a column. More...
 
std::unique_ptr< tablescatter (table_view const &source, column_view const &scatter_map, table_view const &target, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< tablescatter (std::vector< std::reference_wrapper< scalar const >> const &source, column_view const &indices, table_view const &target, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< columnempty_like (column_view const &input)
 Initializes and returns an empty column of the same type as the input. More...
 
std::unique_ptr< columnempty_like (scalar const &input)
 Initializes and returns an empty column of the same type as the input. More...
 
std::unique_ptr< columnallocate_like (column_view const &input, mask_allocation_policy mask_alloc=mask_allocation_policy::RETAIN, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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. More...
 
std::unique_ptr< columnallocate_like (column_view const &input, size_type size, mask_allocation_policy mask_alloc=mask_allocation_policy::RETAIN, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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. More...
 
std::unique_ptr< tableempty_like (table_view const &input_table)
 Creates a table of empty columns with the same types as the input_table More...
 
void copy_range_in_place (column_view const &source, mutable_column_view &target, size_type source_begin, size_type source_end, size_type target_begin, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Copies a range of elements in-place from one column to another. More...
 
std::unique_ptr< columncopy_range (column_view const &source, column_view const &target, size_type source_begin, size_type source_end, size_type target_begin, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< columnshift (column_view const &input, size_type offset, scalar const &fill_value, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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_viewslice (column_view const &input, host_span< size_type const > indices, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Slices a column_view into a set of column_views according to a set of indices. More...
 
std::vector< column_viewslice (column_view const &input, std::initializer_list< size_type > indices, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Slices a column_view into a set of column_views according to a set of indices. More...
 
std::vector< table_viewslice (table_view const &input, host_span< size_type const > indices, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Slices a table_view into a set of table_views according to a set of indices. More...
 
std::vector< table_viewslice (table_view const &input, std::initializer_list< size_type > indices, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Slices a table_view into a set of table_views according to a set of indices. More...
 
std::vector< column_viewsplit (column_view const &input, host_span< size_type const > splits, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Splits a column_view into a set of column_views according to a set of indices derived from expected splits. More...
 
std::vector< column_viewsplit (column_view const &input, std::initializer_list< size_type > splits, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Splits a column_view into a set of column_views according to a set of indices derived from expected splits. More...
 
std::vector< table_viewsplit (table_view const &input, host_span< size_type const > splits, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Splits a table_view into a set of table_views according to a set of indices derived from expected splits. More...
 
std::vector< table_viewsplit (table_view const &input, std::initializer_list< size_type > splits, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Splits a table_view into a set of table_views according to a set of indices derived from expected splits. More...
 
std::unique_ptr< columncopy_if_else (column_view const &lhs, column_view const &rhs, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< columncopy_if_else (scalar const &lhs, column_view const &rhs, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< columncopy_if_else (column_view const &lhs, scalar const &rhs, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< columncopy_if_else (scalar const &lhs, scalar const &rhs, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< tableboolean_mask_scatter (table_view const &input, table_view const &target, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< tableboolean_mask_scatter (std::vector< std::reference_wrapper< scalar const >> const &input, table_view const &target, column_view const &boolean_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< scalarget_element (column_view const &input, size_type index, rmm::cuda_stream_view stream=cudf::get_default_stream(), 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< tablesample (table_view const &input, size_type const n, sample_with_replacement replacement=sample_with_replacement::FALSE, int64_t const seed=0, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Gather n samples from given input randomly. More...
 
bool has_nonempty_nulls (column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Checks if a column or its descendants have non-empty null rows. More...
 
bool 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< columnpurge_nonempty_nulls (column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copy input into output while purging any non-empty null rows in the column or its descendants. More...
 
std::unique_ptr< columnmake_dictionary_column (column_view const &keys_column, column_view const &indices_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a dictionary column by copying the provided keys and indices. More...
 
std::unique_ptr< columnmake_dictionary_column (std::unique_ptr< column > keys_column, std::unique_ptr< column > indices_column, rmm::device_buffer &&null_mask, size_type null_count)
 Construct a dictionary column by taking ownership of the provided keys and indices columns. More...
 
std::unique_ptr< columnmake_dictionary_column (std::unique_ptr< column > keys_column, std::unique_ptr< column > indices_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a dictionary column by taking ownership of the provided keys and indices columns. More...
 
void fill_in_place (mutable_column_view &destination, size_type begin, size_type end, scalar const &value, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Fills a range of elements in-place in a column with a scalar value. More...
 
std::unique_ptr< columnfill (column_view const &input, size_type begin, size_type end, scalar const &value, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a range of elements in a column out-of-place with a scalar value. More...
 
std::unique_ptr< tablerepeat (table_view const &input_table, column_view const &count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Repeat rows of a Table. More...
 
std::unique_ptr< tablerepeat (table_view const &input_table, size_type count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Repeat rows of a Table. More...
 
std::unique_ptr< columnsequence (size_type size, scalar const &init, scalar const &step, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a column with a sequence of value specified by an initial value and a step. More...
 
std::unique_ptr< columnsequence (size_type size, scalar const &init, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a column with a sequence of value specified by an initial value and a step of 1. More...
 
std::unique_ptr< cudf::columncalendrical_month_sequence (size_type size, scalar const &init, size_type months, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Generate a sequence of timestamps beginning at init and incrementing by months for each successive element, i.e., output[i] = init + i * months for i in [0, size). More...
 
std::unique_ptr< columnhash (table_view const &input, hash_id hash_function=hash_id::HASH_MURMUR3, uint32_t seed=DEFAULT_HASH_SEED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the hash value of each row in the input set of columns. More...
 
std::unique_ptr< tablefrom_dlpack (DLManagedTensor const *managed_tensor, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Convert a DLPack DLTensor into a cudf table. More...
 
DLManagedTensor * to_dlpack (table_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Convert a cudf table into a DLPack DLTensor. More...
 
std::shared_ptr< arrow::Table > to_arrow (table_view input, std::vector< column_metadata > const &metadata={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), arrow::MemoryPool *ar_mr=arrow::default_memory_pool())
 Create arrow::Table from cudf table input More...
 
std::shared_ptr< arrow::Scalar > to_arrow (cudf::scalar const &input, column_metadata const &metadata={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), arrow::MemoryPool *ar_mr=arrow::default_memory_pool())
 Create arrow::Scalar from cudf scalar input More...
 
std::unique_ptr< tablefrom_arrow (arrow::Table const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create cudf::table from given arrow Table input. More...
 
std::unique_ptr< cudf::scalarfrom_arrow (arrow::Scalar const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create cudf::scalar from given arrow Scalar input. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > inner_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to an inner join between the specified tables. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > left_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to a left join between the specified tables. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > full_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to a full join between the specified tables. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > left_semi_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a vector of row indices corresponding to a left semi-join between the specified tables. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > left_anti_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a vector of row indices corresponding to a left anti join between the specified tables. More...
 
std::unique_ptr< cudf::tablecross_join (cudf::table_view const &left, cudf::table_view const &right, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a cross join on two tables (left, right) More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > conditional_inner_join (table_view const &left, table_view const &right, ast::expression const &binary_predicate, std::optional< std::size_t > output_size={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the predicate evaluates to true. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > conditional_left_join (table_view const &left, table_view const &right, ast::expression const &binary_predicate, std::optional< std::size_t > output_size={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the predicate evaluates to true, or null matches for rows in left that have no match in right. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > conditional_full_join (table_view const &left, table_view const &right, ast::expression const &binary_predicate, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the predicate evaluates to true, or null matches for rows in either table that have no match in the other. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > conditional_left_semi_join (table_view const &left, table_view const &right, ast::expression const &binary_predicate, std::optional< std::size_t > output_size={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an index vector corresponding to all rows in the left table for which there exists some row in the right table where the predicate evaluates to true. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > conditional_left_anti_join (table_view const &left, table_view const &right, ast::expression const &binary_predicate, std::optional< std::size_t > output_size={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an index vector corresponding to all rows in the left table for which there does not exist any row in the right table where the predicate evaluates to true. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_inner_join (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, std::optional< std::pair< std::size_t, device_span< size_type const >>> output_size_data={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_left_join (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, std::optional< std::pair< std::size_t, device_span< size_type const >>> output_size_data={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables, or null matches for rows in left that have no match in right. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_full_join (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, std::optional< std::pair< std::size_t, device_span< size_type const >>> output_size_data={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns a pair of row index vectors corresponding to all pairs of rows between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables, or null matches for rows in either pair of tables that have no matches in the other pair. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > mixed_left_semi_join (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, std::optional< std::pair< std::size_t, device_span< size_type const >>> output_size_data={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an index vector corresponding to all rows in the left tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::unique_ptr< rmm::device_uvector< size_type > > mixed_left_anti_join (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, std::optional< std::pair< std::size_t, device_span< size_type const >>> output_size_data={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an index vector corresponding to all rows in the left tables for which there is no row in the right tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::pair< std::size_t, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_inner_join_size (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a mixed inner join between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::pair< std::size_t, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_left_join_size (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a mixed left join between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::pair< std::size_t, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_left_semi_join_size (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a mixed left semi join between the specified tables where the columns of the equality table are equal and the predicate evaluates to true on the conditional tables. More...
 
std::pair< std::size_t, std::unique_ptr< rmm::device_uvector< size_type > > > mixed_left_anti_join_size (table_view const &left_equality, table_view const &right_equality, table_view const &left_conditional, table_view const &right_conditional, ast::expression const &binary_predicate, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a mixed left anti join between the specified tables. More...
 
std::size_t conditional_inner_join_size (table_view const &left, table_view const &right, ast::expression const &binary_predicate, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a conditional inner join between the specified tables where the predicate evaluates to true. More...
 
std::size_t conditional_left_join_size (table_view const &left, table_view const &right, ast::expression const &binary_predicate, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a conditional left join between the specified tables where the predicate evaluates to true. More...
 
std::size_t conditional_left_semi_join_size (table_view const &left, table_view const &right, ast::expression const &binary_predicate, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a conditional left semi join between the specified tables where the predicate evaluates to true. More...
 
std::size_t conditional_left_anti_join_size (table_view const &left, table_view const &right, ast::expression const &binary_predicate, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the exact number of matches (rows) when performing a conditional left anti join between the specified tables where the predicate evaluates to true. More...
 
std::unique_ptr< cudf::columnget_json_object (cudf::strings_column_view const &col, cudf::string_scalar const &json_path, get_json_object_options options=get_json_object_options{}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Apply a JSONPath string to all rows in an input strings column. More...
 
std::unique_ptr< columnlabel_bins (column_view const &input, column_view const &left_edges, inclusive left_inclusive, column_view const &right_edges, inclusive right_inclusive, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Labels elements based on membership in the specified bins. More...
 
std::unique_ptr< tableexplode (table_view const &input_table, size_type explode_column_idx, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Explodes a list column's elements. More...
 
std::unique_ptr< tableexplode_position (table_view const &input_table, size_type explode_column_idx, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Explodes a list column's elements and includes a position column. More...
 
std::unique_ptr< tableexplode_outer (table_view const &input_table, size_type explode_column_idx, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Explodes a list column's elements retaining any null entries or empty lists inside. More...
 
std::unique_ptr< tableexplode_outer_position (table_view const &input_table, size_type explode_column_idx, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Explodes a list column's elements retaining any null entries or empty lists and includes a position column. More...
 
CUDF_HOST_DEVICE auto make_list_size_iterator (detail::lists_column_device_view const &c)
 Makes an iterator that returns size of the list by row index. More...
 
std::unique_ptr< cudf::tablemerge (std::vector< table_view > const &tables_to_merge, std::vector< cudf::size_type > const &key_cols, std::vector< cudf::order > const &column_order, std::vector< cudf::null_order > const &null_precedence={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Merge a set of sorted tables. More...
 
size_type state_null_count (mask_state state, size_type size)
 Returns the null count for a null mask of the specified state representing size elements. More...
 
std::size_t bitmask_allocation_size_bytes (size_type number_of_bits, std::size_t padding_boundary=64)
 Computes the required bytes necessary to represent the specified number of bits with a given padding boundary. More...
 
size_type num_bitmask_words (size_type number_of_bits)
 Returns the number of bitmask_type words required to represent the specified number of bits. More...
 
rmm::device_buffer create_null_mask (size_type size, mask_state state, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a device_buffer for use as a null value indicator bitmask of a column. More...
 
void set_null_mask (bitmask_type *bitmask, size_type begin_bit, size_type end_bit, bool valid, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Sets a pre-allocated bitmask buffer to a given state in the range [begin_bit, end_bit) More...
 
rmm::device_buffer copy_bitmask (bitmask_type const *mask, size_type begin_bit, size_type end_bit, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a device_buffer from a slice of bitmask defined by a range of indices [begin_bit, end_bit). More...
 
rmm::device_buffer copy_bitmask (column_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies view's bitmask from the bits [view.offset(), view.offset() + view.size()) into a device_buffer More...
 
std::pair< rmm::device_buffer, size_typebitmask_and (table_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs bitwise AND of the bitmasks of columns of a table. Returns a pair of resulting mask and count of unset bits. More...
 
std::pair< rmm::device_buffer, size_typebitmask_or (table_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs bitwise OR of the bitmasks of columns of a table. Returns a pair of resulting mask and count of unset bits. More...
 
cudf::size_type null_count (bitmask_type const *bitmask, size_type start, size_type stop, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Given a validity bitmask, counts the number of null elements (unset bits) in the range [start, stop). More...
 
std::pair< std::unique_ptr< table >, std::vector< size_type > > partition (table_view const &t, column_view const &partition_map, size_type num_partitions, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Partitions rows of t according to the mapping specified by partition_map. More...
 
std::pair< std::unique_ptr< table >, std::vector< size_type > > hash_partition (table_view const &input, std::vector< size_type > const &columns_to_hash, int num_partitions, hash_id hash_function=hash_id::HASH_MURMUR3, uint32_t seed=DEFAULT_HASH_SEED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Partitions rows from the input table into multiple output tables. More...
 
std::pair< std::unique_ptr< cudf::table >, std::vector< cudf::size_type > > round_robin_partition (table_view const &input, cudf::size_type num_partitions, cudf::size_type start_partition=0, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Round-robin partition. More...
 
std::unique_ptr< columnquantile (column_view const &input, std::vector< double > const &q, interpolation interp=interpolation::LINEAR, column_view const &ordered_indices={}, bool exact=true, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes quantiles with interpolation. More...
 
std::unique_ptr< tablequantiles (table_view const &input, std::vector< double > const &q, interpolation interp=interpolation::NEAREST, cudf::sorted is_input_sorted=sorted::NO, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns the rows of the input corresponding to the requested quantiles. More...
 
std::unique_ptr< columnpercentile_approx (tdigest::tdigest_column_view const &input, column_view const &percentiles, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Calculate approximate percentiles on an input tdigest column. More...
 
std::unique_ptr< scalarreduce (column_view const &col, reduce_aggregation const &agg, data_type output_dtype, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the reduction of the values in all rows of a column. More...
 
std::unique_ptr< scalarreduce (column_view const &col, reduce_aggregation const &agg, data_type output_dtype, std::optional< std::reference_wrapper< scalar const >> init, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the reduction of the values in all rows of a column with an initial value. More...
 
std::unique_ptr< columnsegmented_reduce (column_view const &segmented_values, device_span< size_type const > offsets, segmented_reduce_aggregation const &agg, data_type output_dtype, null_policy null_handling, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Compute reduction of each segment in the input column. More...
 
std::unique_ptr< columnsegmented_reduce (column_view const &segmented_values, device_span< size_type const > offsets, segmented_reduce_aggregation const &agg, data_type output_dtype, null_policy null_handling, std::optional< std::reference_wrapper< scalar const >> init, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Compute reduction of each segment in the input column with an initial value. Only SUM, PRODUCT, MIN, MAX, ANY, and ALL aggregations are supported. More...
 
std::unique_ptr< columnscan (column_view const &input, scan_aggregation const &agg, scan_type inclusive, null_policy null_handling=null_policy::EXCLUDE, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the scan of a column. More...
 
std::pair< std::unique_ptr< scalar >, std::unique_ptr< scalar > > minmax (column_view const &col, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Determines the minimum and maximum values of a column. More...
 
std::unique_ptr< columnreplace_nulls (column_view const &input, column_view const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces all null values in a column with corresponding values of another column. More...
 
std::unique_ptr< columnreplace_nulls (column_view const &input, scalar const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces all null values in a column with a scalar. More...
 
std::unique_ptr< columnreplace_nulls (column_view const &input, replace_policy const &replace_policy, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces all null values in a column with the first non-null value that precedes/follows. More...
 
std::unique_ptr< columnreplace_nans (column_view const &input, column_view const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces all NaN values in a column with corresponding values from another column. More...
 
std::unique_ptr< columnreplace_nans (column_view const &input, scalar const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces all NaN values in a column with a scalar. More...
 
std::unique_ptr< columnfind_and_replace_all (column_view const &input_col, column_view const &values_to_replace, column_view const &replacement_values, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Return a copy of input_col replacing any values_to_replace[i] found with replacement_values[i]. More...
 
std::unique_ptr< columnclamp (column_view const &input, scalar const &lo, scalar const &lo_replace, scalar const &hi, scalar const &hi_replace, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces values less than lo in input with lo_replace, and values greater than hi with hi_replace. More...
 
std::unique_ptr< columnclamp (column_view const &input, scalar const &lo, scalar const &hi, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Replaces values less than lo in input with lo, and values greater than hi with hi. More...
 
std::unique_ptr< columnnormalize_nans_and_zeros (column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Copies from a column of floating-point elements and replaces -NaN and -0.0 with +NaN and +0.0, respectively. More...
 
void normalize_nans_and_zeros (mutable_column_view &in_out, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Modifies a column of floating-point elements to replace all -NaN and -0.0 with +NaN and +0.0, respectively. More...
 
std::unique_ptr< columninterleave_columns (table_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Interleave columns of a table into a single column. More...
 
std::unique_ptr< tabletile (table_view const &input, size_type count, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Repeats the rows from input table count times to form a new table. More...
 
std::unique_ptr< columnbyte_cast (column_view const &input_column, flip_endianness endian_configuration, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Converts a column's elements to lists of bytes. More...
 
std::unique_ptr< columnrolling_window (column_view const &input, size_type preceding_window, size_type following_window, size_type min_periods, rolling_aggregation const &agg, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columnrolling_window (column_view const &input, column_view const &default_outputs, size_type preceding_window, size_type following_window, size_type min_periods, rolling_aggregation const &agg, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_rolling_window (table_view const &group_keys, column_view const &input, size_type preceding_window, size_type following_window, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_rolling_window (table_view const &group_keys, column_view const &input, window_bounds preceding_window, window_bounds following_window, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_rolling_window (table_view const &group_keys, column_view const &input, column_view const &default_outputs, size_type preceding_window, size_type following_window, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_rolling_window (table_view const &group_keys, column_view const &input, column_view const &default_outputs, window_bounds preceding_window, window_bounds following_window, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, fixed-size rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_time_range_rolling_window (table_view const &group_keys, column_view const &timestamp_column, cudf::order const &timestamp_order, column_view const &input, size_type preceding_window_in_days, size_type following_window_in_days, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, timestamp-based rolling window function to the values in a column. More...
 
std::unique_ptr< columngrouped_time_range_rolling_window (table_view const &group_keys, column_view const &timestamp_column, cudf::order const &timestamp_order, column_view const &input, window_bounds preceding_window_in_days, window_bounds following_window_in_days, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, timestamp-based rolling window function to the values in a column,. More...
 
std::unique_ptr< columngrouped_range_rolling_window (table_view const &group_keys, column_view const &orderby_column, cudf::order const &order, column_view const &input, range_window_bounds const &preceding, range_window_bounds const &following, size_type min_periods, rolling_aggregation const &aggr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a grouping-aware, value range-based rolling window function to the values in a column. More...
 
std::unique_ptr< columnrolling_window (column_view const &input, column_view const &preceding_window, column_view const &following_window, size_type min_periods, rolling_aggregation const &agg, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Applies a variable-size rolling window function to the values in a column. More...
 
std::unique_ptr< columnround (column_view const &input, int32_t decimal_places=0, rounding_method method=rounding_method::HALF_UP, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Rounds all the values in a column to the specified number of decimal places. More...
 
template<typename T >
auto get_scalar_device_view (numeric_scalar< T > &s)
 Get the device view of a numeric_scalar. More...
 
auto get_scalar_device_view (string_scalar &s)
 Get the device view of a string_scalar. More...
 
template<typename T >
auto get_scalar_device_view (timestamp_scalar< T > &s)
 Get the device view of a timestamp_scalar. More...
 
template<typename T >
auto get_scalar_device_view (duration_scalar< T > &s)
 Get the device view of a duration_scalar. More...
 
template<typename T >
auto get_scalar_device_view (fixed_point_scalar< T > &s)
 Get the device view of a fixed_point_scalar. More...
 
std::unique_ptr< scalarmake_numeric_scalar (data_type type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar with uninitialized storage to hold a value of the specified numeric data_type. More...
 
std::unique_ptr< scalarmake_timestamp_scalar (data_type type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar with uninitialized storage to hold a value of the specified timestamp data_type. More...
 
std::unique_ptr< scalarmake_duration_scalar (data_type type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar with uninitialized storage to hold a value of the specified duration data_type. More...
 
std::unique_ptr< scalarmake_fixed_width_scalar (data_type type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar with uninitialized storage to hold a value of the specified fixed-width data_type. More...
 
std::unique_ptr< scalarmake_string_scalar (std::string const &string, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct STRING type scalar given a std::string. The size of the std::string must not exceed the maximum size of size_type. The string characters are expected to be UTF-8 encoded sequence of char bytes. More...
 
std::unique_ptr< scalarmake_default_constructed_scalar (data_type type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Constructs default constructed scalar of type type More...
 
std::unique_ptr< scalarmake_empty_scalar_like (column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates an empty (invalid) scalar of the same type as the input column_view. More...
 
template<typename T >
std::unique_ptr< scalarmake_fixed_width_scalar (T value, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar using the given value of fixed width type. More...
 
template<typename T >
std::unique_ptr< scalarmake_fixed_point_scalar (typename T::rep value, numeric::scale_type scale, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar using the given value of fixed_point type. More...
 
std::unique_ptr< scalarmake_list_scalar (column_view elements, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct scalar using the given column of elements. More...
 
std::unique_ptr< scalarmake_struct_scalar (table_view const &data, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a struct scalar using the given table_view. More...
 
std::unique_ptr< scalarmake_struct_scalar (host_span< column_view const > data, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a struct scalar using the given span of column views. More...
 
std::unique_ptr< columnlower_bound (table_view const &haystack, table_view const &needles, std::vector< order > const &column_order, std::vector< null_order > const &null_precedence, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Find smallest indices in a sorted table where values should be inserted to maintain order. More...
 
std::unique_ptr< columnupper_bound (table_view const &haystack, table_view const &needles, std::vector< order > const &column_order, std::vector< null_order > const &null_precedence, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Find largest indices in a sorted table where values should be inserted to maintain order. More...
 
bool contains (column_view const &haystack, scalar const &needle, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Check if the given needle value exists in the haystack column. More...
 
std::unique_ptr< columncontains (column_view const &haystack, column_view const &needles, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Check if the given needles values exists in the haystack column. More...
 
std::unique_ptr< columnsorted_order (table_view const &input, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the row indices that would produce input in a lexicographical sorted order. More...
 
std::unique_ptr< columnstable_sorted_order (table_view const &input, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the row indices that would produce input in a stable lexicographical sorted order. More...
 
bool is_sorted (cudf::table_view const &table, std::vector< order > const &column_order, std::vector< null_order > const &null_precedence, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Checks whether the rows of a table are sorted in a lexicographical order. More...
 
std::unique_ptr< tablesort (table_view const &input, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a lexicographic sort of the rows of a table. More...
 
std::unique_ptr< tablestable_sort (table_view const &input, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a stable lexicographic sort of the rows of a table. More...
 
std::unique_ptr< tablesort_by_key (table_view const &values, table_view const &keys, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a key-value sort. More...
 
std::unique_ptr< tablestable_sort_by_key (table_view const &values, table_view const &keys, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a key-value stable sort. More...
 
std::unique_ptr< columnrank (column_view const &input, rank_method method, order column_order, null_policy null_handling, null_order null_precedence, bool percentage, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Computes the ranks of input column in sorted order. More...
 
std::unique_ptr< columnsegmented_sorted_order (table_view const &keys, column_view const &segment_offsets, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns sorted order after sorting each segment in the table. More...
 
std::unique_ptr< columnstable_segmented_sorted_order (table_view const &keys, column_view const &segment_offsets, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns sorted order after stably sorting each segment in the table. More...
 
std::unique_ptr< tablesegmented_sort_by_key (table_view const &values, table_view const &keys, column_view const &segment_offsets, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a lexicographic segmented sort of a table. More...
 
std::unique_ptr< tablestable_segmented_sort_by_key (table_view const &values, table_view const &keys, column_view const &segment_offsets, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs a stably lexicographic segmented sort of a table. More...
 
std::unique_ptr< tabledrop_nulls (table_view const &input, std::vector< size_type > const &keys, cudf::size_type keep_threshold, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Filters a table to remove null elements with threshold count. More...
 
std::unique_ptr< tabledrop_nulls (table_view const &input, std::vector< size_type > const &keys, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Filters a table to remove null elements. More...
 
std::unique_ptr< tabledrop_nans (table_view const &input, std::vector< size_type > const &keys, cudf::size_type keep_threshold, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Filters a table to remove NANs with threshold count. More...
 
std::unique_ptr< tabledrop_nans (table_view const &input, std::vector< size_type > const &keys, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Filters a table to remove NANs. More...
 
std::unique_ptr< tableapply_boolean_mask (table_view const &input, column_view const &boolean_mask, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Filters input using boolean_mask of boolean values as a mask. More...
 
std::unique_ptr< tableunique (table_view const &input, std::vector< size_type > const &keys, duplicate_keep_option keep, null_equality nulls_equal=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create a new table with consecutive duplicate rows removed. More...
 
std::unique_ptr< tabledistinct (table_view const &input, std::vector< size_type > const &keys, duplicate_keep_option keep=duplicate_keep_option::KEEP_ANY, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create a new table without duplicate rows. More...
 
std::unique_ptr< columndistinct_indices (table_view const &input, duplicate_keep_option keep=duplicate_keep_option::KEEP_ANY, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create a column of indices of all distinct rows in the input table. More...
 
std::unique_ptr< tablestable_distinct (table_view const &input, std::vector< size_type > const &keys, duplicate_keep_option keep=duplicate_keep_option::KEEP_ANY, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create a new table without duplicate rows, preserving input order. More...
 
cudf::size_type unique_count (column_view const &input, null_policy null_handling, nan_policy nan_handling)
 Count the number of consecutive groups of equivalent rows in a column. More...
 
cudf::size_type unique_count (table_view const &input, null_equality nulls_equal=null_equality::EQUAL)
 Count the number of consecutive groups of equivalent rows in a table. More...
 
cudf::size_type distinct_count (column_view const &input, null_policy null_handling, nan_policy nan_handling)
 Count the distinct elements in the column_view. More...
 
cudf::size_type distinct_count (table_view const &input, null_equality nulls_equal=null_equality::EQUAL)
 Count the distinct rows in a table. More...
 
template<typename Element , std::enable_if_t< std::is_floating_point_v< Element >> * = nullptr>
weak_ordering relational_compare (Element lhs, Element rhs)
 A specialization for floating-point Element type relational comparison to derive the order of the elements with respect to lhs. More...
 
auto null_compare (bool lhs_is_null, bool rhs_is_null, null_order null_precedence)
 Compare the nulls according to null order. More...
 
template<typename Element , std::enable_if_t< std::is_floating_point_v< Element >> * = nullptr>
bool equality_compare (Element lhs, Element rhs)
 A specialization for floating-point Element type to check if lhs is equivalent to rhs. nan == nan. More...
 
template<typename ColumnDeviceView , typename HostTableView >
auto contiguous_copy_column_device_views (HostTableView source_view, rmm::cuda_stream_view stream)
 Copies the contents of a table_view to a column device view in contiguous device memory. More...
 
bool nullable (table_view const &view)
 Returns True if any of the columns in the table is nullable. (not entire hierarchy) More...
 
bool has_nulls (table_view const &view)
 Returns True if the table has nulls in any of its columns. More...
 
bool has_nested_nulls (table_view const &input)
 Returns True if the table has nulls in any of its columns hierarchy. More...
 
bool has_nested_nullable_columns (table_view const &input)
 Returns True if the table has a nullable column at any level of the column hierarchy. More...
 
std::vector< column_viewget_nullable_columns (table_view const &table)
 The function to collect all nullable columns at all nested levels in a given table. More...
 
bool have_same_types (table_view const &lhs, table_view const &rhs)
 Checks if two table_views have columns of same types. More...
 
table_view scatter_columns (table_view const &source, std::vector< size_type > const &map, table_view const &target)
 Copy column_views from a table_view into another table_view according to a column indices map. More...
 
std::unique_ptr< tablemake_timezone_transition_table (std::optional< std::string_view > tzif_dir, std::string_view timezone_name, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a transition table to convert ORC timestamps to UTC. More...
 
std::unique_ptr< columntransform (column_view const &input, std::string const &unary_udf, data_type output_type, bool is_ptx, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a new column by applying a unary function against every element of an input column. More...
 
std::pair< std::unique_ptr< rmm::device_buffer >, size_typenans_to_nulls (column_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a null_mask from input by converting NaN to null and preserving existing null values and also returns new null_count. More...
 
std::unique_ptr< columncompute_column (table_view const &table, ast::expression const &expr, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Compute a new column by evaluating an expression tree on a table. More...
 
std::pair< std::unique_ptr< rmm::device_buffer >, cudf::size_typebools_to_mask (column_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a bitmask from a column of boolean elements. More...
 
std::pair< std::unique_ptr< cudf::table >, std::unique_ptr< cudf::column > > encode (cudf::table_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Encode the rows of the given table as integers. More...
 
std::pair< std::unique_ptr< column >, table_viewone_hot_encode (column_view const &input, column_view const &categories, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Encodes input by generating a new column for each value in categories indicating the presence of that value in input. More...
 
std::unique_ptr< columnmask_to_bools (bitmask_type const *bitmask, size_type begin_bit, size_type end_bit, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a boolean column from given bitmask. More...
 
std::unique_ptr< columnrow_bit_count (table_view const &t, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an approximate cumulative size in bits of all columns in the table_view for each row. More...
 
std::unique_ptr< columnsegmented_row_bit_count (table_view const &t, size_type segment_length, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Returns an approximate cumulative size in bits of all columns in the table_view for each segment of rows. More...
 
std::pair< std::unique_ptr< column >, table_viewtranspose (table_view const &input, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Transposes a table. More...
 
template<typename T >
size_type distance (T f, T l)
 Similar to std::distance but returns cudf::size_type and performs static_cast More...
 
constexpr bool operator== (data_type const &lhs, data_type const &rhs)
 Compares two data_type objects for equality. More...
 
bool operator!= (data_type const &lhs, data_type const &rhs)
 Compares two data_type objects for inequality. More...
 
std::size_t size_of (data_type t)
 Returns the size in bytes of elements of the specified data_type More...
 
std::unique_ptr< cudf::columnunary_operation (cudf::column_view const &input, cudf::unary_operator op, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Performs unary op on all values in column. More...
 
std::unique_ptr< cudf::columnis_null (cudf::column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a column of type_id::BOOL8 elements where for every element in input true indicates the value is null and false indicates the value is valid. More...
 
std::unique_ptr< cudf::columnis_valid (cudf::column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a column of type_id::BOOL8 elements where for every element in input true indicates the value is valid and false indicates the value is null. More...
 
std::unique_ptr< columncast (column_view const &input, data_type out_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Casts data from dtype specified in input to dtype specified in output. More...
 
std::unique_ptr< columnis_nan (cudf::column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a column of type_id::BOOL8 elements indicating the presence of NaN values in a column of floating point values. The output element at row i is true if the element in input at row i is NAN, else false More...
 
std::unique_ptr< columnis_not_nan (cudf::column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Creates a column of type_id::BOOL8 elements indicating the absence of NaN values in a column of floating point values. The output element at row i is false if the element in input at row i is NAN, else true More...
 
constexpr CUDF_HOST_DEVICE size_type word_index (size_type bit_index)
 Returns the index of the word containing the specified bit. More...
 
constexpr CUDF_HOST_DEVICE size_type intra_word_index (size_type bit_index)
 Returns the position within a word of the specified bit. More...
 
CUDF_HOST_DEVICE void set_bit_unsafe (bitmask_type *bitmask, size_type bit_index)
 Sets the specified bit to 1 More...
 
CUDF_HOST_DEVICE void clear_bit_unsafe (bitmask_type *bitmask, size_type bit_index)
 Sets the specified bit to 0 More...
 
CUDF_HOST_DEVICE bool bit_is_set (bitmask_type const *bitmask, size_type bit_index)
 Indicates whether the specified bit is set to 1 More...
 
CUDF_HOST_DEVICE bool bit_value_or (bitmask_type const *bitmask, size_type bit_index, bool default_value)
 optional-like interface to check if a specified bit of a bitmask is set. More...
 
constexpr CUDF_HOST_DEVICE bitmask_type set_least_significant_bits (size_type n)
 Returns a bitmask word with the n least significant bits set. More...
 
constexpr CUDF_HOST_DEVICE bitmask_type set_most_significant_bits (size_type n)
 Returns a bitmask word with the n most significant bits set. More...
 
rmm::cuda_stream_view const get_default_stream ()
 Get the current default stream. More...
 
bool is_ptds_enabled ()
 Check if per-thread default stream is enabled. More...
 
spdlog::logger & logger ()
 Returns the global logger. More...
 
template<typename T >
constexpr bool has_atomic_support ()
 Indicates whether the type T has support for atomics. More...
 
constexpr bool has_atomic_support (data_type type)
 Indicates whether type has support for atomics. More...
 
template<typename L , typename R >
constexpr bool is_relationally_comparable ()
 Indicates whether objects of types L and R can be relationally compared. More...
 
bool is_relationally_comparable (data_type type)
 Checks whether data_type type supports relational comparisons. More...
 
template<typename L , typename R >
constexpr bool is_equality_comparable ()
 Indicates whether objects of types L and R can be compared for equality. More...
 
bool is_equality_comparable (data_type type)
 Checks whether data_type type supports equality comparisons. More...
 
template<typename T >
constexpr bool is_numeric ()
 Indicates whether the type T is a numeric type. More...
 
bool is_numeric (data_type type)
 Indicates whether type is a numeric data_type. More...
 
template<typename T >
constexpr bool is_index_type ()
 Indicates whether the type T is a index type. More...
 
bool is_index_type (data_type type)
 Indicates whether the type type is a index type. More...
 
template<typename T >
constexpr bool is_unsigned ()
 Indicates whether the type T is a unsigned numeric type. More...
 
bool is_unsigned (data_type type)
 Indicates whether type is a unsigned numeric data_type. More...
 
template<typename Iterator >
constexpr bool is_signed_iterator ()
 Indicates whether the Iterator value type is unsigned. More...
 
template<typename T >
constexpr bool is_integral ()
 Indicates whether the type T is an integral type. More...
 
bool is_integral (data_type type)
 Indicates whether type is a integral data_type. More...
 
template<typename T >
constexpr bool is_integral_not_bool ()
 Indicates whether the type T is an integral type but not bool type. More...
 
bool is_integral_not_bool (data_type type)
 Indicates whether type is a integral data_type and not BOOL8. More...
 
template<typename T >
constexpr bool is_floating_point ()
 Indicates whether the type T is a floating point type. More...
 
bool is_floating_point (data_type type)
 Indicates whether type is a floating point data_type. More...
 
template<typename T >
constexpr bool is_byte ()
 Indicates whether T is a std::byte type. More...
 
template<typename T >
constexpr bool is_boolean ()
 Indicates whether T is a Boolean type. More...
 
bool is_boolean (data_type type)
 Indicates whether type is a Boolean data_type. More...
 
template<typename T >
constexpr bool is_timestamp ()
 Indicates whether the type T is a timestamp type. More...
 
bool is_timestamp (data_type type)
 Indicates whether type is a timestamp data_type. More...
 
template<typename T >
constexpr bool is_fixed_point ()
 Indicates whether the type T is a fixed-point type. More...
 
bool is_fixed_point (data_type type)
 Indicates whether type is a fixed point data_type. More...
 
template<typename T >
constexpr bool is_duration ()
 Indicates whether the type T is a duration type. More...
 
bool is_duration (data_type type)
 Indicates whether type is a duration data_type. More...
 
template<typename T >
constexpr bool is_chrono ()
 Indicates whether the type T is a chrono type. More...
 
bool is_chrono (data_type type)
 Indicates whether type is a chrono data_type. More...
 
template<typename T >
constexpr bool is_rep_layout_compatible ()
 Indicates whether T is layout compatible with its "representation" type. More...
 
template<typename T >
constexpr bool is_dictionary ()
 Indicates whether the type T is a dictionary type. More...
 
bool is_dictionary (data_type type)
 Indicates whether type is a dictionary data_type. More...
 
template<typename T >
constexpr bool is_fixed_width ()
 Indicates whether elements of type T are fixed-width. More...
 
bool is_fixed_width (data_type type)
 Indicates whether elements of type are fixed-width. More...
 
template<typename T >
constexpr bool is_compound ()
 Indicates whether the type T is a compound type. More...
 
bool is_compound (data_type type)
 Indicates whether elements of type are compound. More...
 
template<typename T >
constexpr bool is_nested ()
 Indicates whether T is a nested type. More...
 
bool is_nested (data_type type)
 Indicates whether type is a nested type. More...
 
bool is_bit_castable (data_type from, data_type to)
 Indicates whether from is bit-castable to to. More...
 
bool column_types_equal (column_view const &lhs, column_view const &rhs)
 Compares the type of two column_views. More...
 
bool column_types_equivalent (column_view const &lhs, column_view const &rhs)
 Compare the type IDs of two column_views This function returns true if the type of lhs equals that of rhs. More...
 
template<typename T >
constexpr type_id type_to_id ()
 Maps a C++ type to its corresponding cudf::type_id More...
 
template<typename T >
constexpr bool type_id_matches_device_storage_type (type_id id)
 Checks if fixed_point-like types have template type T matching the column's stored type id. More...
 
template<>
constexpr type_id type_to_id< char > ()
 Specialization to map 'char' type to type_id::INT8. More...
 
template<template< cudf::type_id > typename IdTypeMap = id_to_type_impl, typename Functor , typename... Ts>
CUDF_HOST_DEVICE constexpr decltype(auto) __forceinline__ type_dispatcher (cudf::data_type dtype, Functor f, Ts &&... args)
 Invokes an operator() template with the type instantiation based on the specified cudf::data_type's id(). More...
 
template<template< cudf::type_id > typename IdTypeMap = id_to_type_impl, typename F , typename... Ts>
CUDF_HOST_DEVICE constexpr decltype(auto) __forceinline__ double_type_dispatcher (cudf::data_type type1, cudf::data_type type2, F &&f, Ts &&... args)
 Dispatches two type template parameters to a callable. More...
 
std::string type_to_name (data_type type)
 Return a name for a given type. More...
 
template<typename Integer >
CUDF_HOST_DEVICE bool operator== (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Wqual to operator for dictionary_wrapper. More...
 
template<typename Integer >
CUDF_HOST_DEVICE bool operator!= (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Not equal to operator for dictionary_wrapper. More...
 
template<typename Integer >
CUDF_HOST_DEVICE bool operator<= (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Less than or equal to operator for dictionary_wrapper. More...
 
template<typename Integer >
CUDF_HOST_DEVICE bool operator>= (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Greater than or equal to operator for dictionary_wrapper. More...
 
template<typename Integer >
constexpr CUDF_HOST_DEVICE bool operator< (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Less than operator for dictionary_wrapper. More...
 
template<typename Integer >
CUDF_HOST_DEVICE bool operator> (dictionary_wrapper< Integer > const &lhs, dictionary_wrapper< Integer > const &rhs)
 Greater than operator for dictionary_wrapper. More...
 

Variables

constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max()
 A constant used to differentiate std::span of static and dynamic extent.
 
template<typename... Ts>
constexpr bool has_common_type_v = detail::has_common_type_impl<void, Ts...>::value
 Helper variable template for has_common_type<>::value.
 

Detailed Description

cuDF interfaces

Enumeration Type Documentation

◆ weak_ordering

enum cudf::weak_ordering
strong

Result type of the element_relational_comparator function object.

Indicates how two elements a and b compare with one and another.

Equivalence is defined as not (a<b) and not (b<a). Elements that are EQUIVALENT may not necessarily be equal.

Enumerator
LESS 

Indicates a is less than (ordered before) b

EQUIVALENT 

Indicates a is ordered neither before nor after b

GREATER 

Indicates a is greater than (ordered after) b

Definition at line 43 of file row_operators.cuh.

Function Documentation

◆ bit_cast() [1/2]

column_view cudf::bit_cast ( column_view const &  input,
data_type  type 
)

Zero-copy cast between types with the same size and compatible underlying representations.

This is similar to reinterpret_cast or bit_cast in that it gives a view of the same raw bits as a different type. Unlike reinterpret_cast however, this cast is only allowed on types that have the same width and compatible representations. For example, the way timestamp types are laid out in memory is equivalent to an integer representing a duration since a fixed epoch; bit-casting to the same integer type (INT32 for days, INT64 for others) results in a raw view of the duration count. A FLOAT32 can also be bit-casted into INT32 and treated as an integer value. However, an INT32 column cannot be bit-casted to INT64 as the sizes differ, nor can a string_view column be casted into a numeric type column as their data representations are not compatible.

The validity of the conversion can be checked with cudf::is_bit_castable().

Exceptions
cudf::logic_errorif the specified cast is not possible, i.e., is_bit_castable(input.type(), type) is false.
Parameters
inputThe column_view to cast from
typeThe data_type to cast to
Returns
New column_view wrapping the same data as input but cast to type

◆ bit_cast() [2/2]

mutable_column_view cudf::bit_cast ( mutable_column_view const &  input,
data_type  type 
)

Zero-copy cast between types with the same size and compatible underlying representations.

This is similar to reinterpret_cast or bit_cast in that it gives a view of the same raw bits as a different type. Unlike reinterpret_cast however, this cast is only allowed on types that have the same width and compatible representations. For example, the way timestamp types are laid out in memory is equivalent to an integer representing a duration since a fixed epoch; bit-casting to the same integer type (INT32 for days, INT64 for others) results in a raw view of the duration count. A FLOAT32 can also be bit-casted into INT32 and treated as an integer value. However, an INT32 column cannot be bit-casted to INT64 as the sizes differ, nor can a string_view column be casted into a numeric type column as their data representations are not compatible.

The validity of the conversion can be checked with cudf::is_bit_castable().

Exceptions
cudf::logic_errorif the specified cast is not possible, i.e., is_bit_castable(input.type(), type) is false.
Parameters
inputThe mutable_column_view to cast from
typeThe data_type to cast to
Returns
New mutable_column_view wrapping the same data as input but cast to type

◆ column_types_equal()

bool cudf::column_types_equal ( column_view const &  lhs,
column_view const &  rhs 
)

Compares the type of two column_views.

This function returns true if the type of lhs equals that of rhs.

  • For fixed point types, the scale is compared.
  • For dictionary types, the type of the keys are compared if both are non-empty columns.
  • For lists types, the type of child columns are compared recursively.
  • For struct types, the type of each field are compared in order.
  • For all other types, the id of data_type is compared.
Parameters
lhsThe first column_view to compare
rhsThe second column_view to compare
Returns
true if column types match

◆ column_types_equivalent()

bool cudf::column_types_equivalent ( column_view const &  lhs,
column_view const &  rhs 
)

Compare the type IDs of two column_views This function returns true if the type of lhs equals that of rhs.

  • For fixed point types, the scale is ignored.
Parameters
lhsThe first column_view to compare
rhsThe second column_view to compare
Returns
true if column types match

◆ contiguous_copy_column_device_views()

template<typename ColumnDeviceView , typename HostTableView >
auto cudf::contiguous_copy_column_device_views ( HostTableView  source_view,
rmm::cuda_stream_view  stream 
)

Copies the contents of a table_view to a column device view in contiguous device memory.

Template Parameters
ColumnDeviceViewThe column device view type to copy to
HostTableViewThe type of the table_view to copy from
Parameters
source_viewThe table_view to copy from
streamThe stream to use for device memory allocation
Returns
tuple of device_buffer and ColumnDeviceView device pointer

Definition at line 240 of file table_device_view.cuh.

◆ count_descendants()

size_type cudf::count_descendants ( column_view  parent)

Counts the number of descendants of the specified parent.

Parameters
parentThe parent whose descendants will be counted
Returns
The number of descendants of the parent

◆ equality_compare()

template<typename Element , std::enable_if_t< std::is_floating_point_v< Element >> * = nullptr>
bool cudf::equality_compare ( Element  lhs,
Element  rhs 
)

A specialization for floating-point Element type to check if lhs is equivalent to rhs. nan == nan.

A specialization for non-floating-point Element type to check if lhs is equivalent to rhs.

Parameters
lhsfirst element
rhssecond element
Returns
true if lhs == rhs else false.

Definition at line 136 of file row_operators.cuh.

◆ get_nullable_columns()

std::vector<column_view> cudf::get_nullable_columns ( table_view const &  table)

The function to collect all nullable columns at all nested levels in a given table.

Parameters
tableThe input table
Returns
A vector containing all nullable columns in the input table

◆ get_scalar_device_view() [1/5]

template<typename T >
auto cudf::get_scalar_device_view ( duration_scalar< T > &  s)

Get the device view of a duration_scalar.

Parameters
sThe duration_scalar to get the device view of
Returns
A device view of a duration_scalar

Definition at line 426 of file scalar_device_view.cuh.

◆ get_scalar_device_view() [2/5]

template<typename T >
auto cudf::get_scalar_device_view ( fixed_point_scalar< T > &  s)

Get the device view of a fixed_point_scalar.

Parameters
sThe fixed_point_scalar to get the device view of
Returns
The device view of the fixed_point_scalar

Definition at line 438 of file scalar_device_view.cuh.

◆ get_scalar_device_view() [3/5]

template<typename T >
auto cudf::get_scalar_device_view ( numeric_scalar< T > &  s)

Get the device view of a numeric_scalar.

Parameters
sThe numeric_scalar to get the device view of
Returns
A device view of a numeric_scalar

Definition at line 391 of file scalar_device_view.cuh.

◆ get_scalar_device_view() [4/5]

auto cudf::get_scalar_device_view ( string_scalar s)
inline

Get the device view of a string_scalar.

Parameters
sThe string_scalar to get the device view of
Returns
A device view of a string_scalar

Definition at line 402 of file scalar_device_view.cuh.

◆ get_scalar_device_view() [5/5]

template<typename T >
auto cudf::get_scalar_device_view ( timestamp_scalar< T > &  s)

Get the device view of a timestamp_scalar.

Parameters
sThe timestamp_scalar to get the device view of
Returns
A device view of a timestamp_scalar

Definition at line 414 of file scalar_device_view.cuh.

◆ has_nested_nullable_columns()

bool cudf::has_nested_nullable_columns ( table_view const &  input)

Returns True if the table has a nullable column at any level of the column hierarchy.

Parameters
inputThe table to check for nullable columns
Returns
True if the table has nullable columns at any level of the column hierarchy, false otherwise

◆ has_nested_nulls()

bool cudf::has_nested_nulls ( table_view const &  input)

Returns True if the table has nulls in any of its columns hierarchy.

Parameters
inputThe table to check for nulls
Returns
True if the table has nulls in any of its columns hierarchy, false otherwise

◆ has_nulls()

bool cudf::has_nulls ( table_view const &  view)

Returns True if the table has nulls in any of its columns.

This checks for nulls in the columns and but not in any of the columns' children.

Parameters
viewThe table to check for nulls
Returns
True if the table has nulls in any of its columns, false otherwise

◆ have_same_types()

bool cudf::have_same_types ( table_view const &  lhs,
table_view const &  rhs 
)

Checks if two table_views have columns of same types.

Parameters
lhsleft-side table_view operand
rhsright-side table_view operand
Returns
boolean comparison result

◆ logger()

spdlog::logger& cudf::logger ( )

Returns the global logger.

This is a global instance of a spdlog logger. It can be used to configure logging behavior in libcudf.

Examples:

// Turn off logging at runtime
cudf::logger().set_level(spdlog::level::off);
// Add a stdout sink to the logger
cudf::logger().sinks().push_back(std::make_shared<spdlog::sinks::stdout_sink_mt>());
// Replace the default sink
cudf::logger().sinks() ={std::make_shared<spdlog::sinks::stderr_sink_mt>()};
spdlog::logger & logger()
Returns the global logger.

Note: Changes to the sinks are not thread safe and should only be done during global initialization.

Returns
spdlog::logger& The logger.

◆ make_list_size_iterator()

CUDF_HOST_DEVICE auto cudf::make_list_size_iterator ( detail::lists_column_device_view const &  c)
inline

Makes an iterator that returns size of the list by row index.

Example: For a list_column_device_view with 3 rows, l = {[1, 2, 3], [4, 5], [6, 7, 8, 9]},

assert(it[0] == 3);
assert(it[1] == 2);
assert(it[2] == 4);
CUDF_HOST_DEVICE auto make_list_size_iterator(detail::lists_column_device_view const &c)
Makes an iterator that returns size of the list by row index.
Parameters
cThe list_column_device_view to iterate over
Returns
An iterator that returns the size of the list by row index

Definition at line 375 of file list_device_view.cuh.

◆ make_timezone_transition_table()

std::unique_ptr<table> cudf::make_timezone_transition_table ( std::optional< std::string_view >  tzif_dir,
std::string_view  timezone_name,
rmm::mr::device_memory_resource *  mr = rmm::mr::get_current_device_resource() 
)

Creates a transition table to convert ORC timestamps to UTC.

Uses system's TZif files. Assumes little-endian platform when parsing these files. The transition table starts with the entries from the TZif file. For timestamps after the file's last transition, the table includes entries that form a solar_cycle_years-year cycle (future entries). This portion of the table has solar_cycle_entry_count elements, as it assumes two transitions per year from Daylight Saving Time. If the timezone does not have DST, the table will still include the future entries, which will all have the same offset.

Parameters
tzif_dirThe directory where the TZif files are located
timezone_namestandard timezone name (for example, "America/Los_Angeles")
mrDevice memory resource used to allocate the returned table's device memory.
Returns
The transition table for the given timezone

◆ null_compare()

auto cudf::null_compare ( bool  lhs_is_null,
bool  rhs_is_null,
null_order  null_precedence 
)
inline

Compare the nulls according to null order.

Parameters
lhs_is_nullboolean representing if lhs is null
rhs_is_nullboolean representing if lhs is null
null_precedencenull order
Returns
Indicates the relationship between null in lhs and rhs columns.

Definition at line 101 of file row_operators.cuh.

◆ nullable()

bool cudf::nullable ( table_view const &  view)

Returns True if any of the columns in the table is nullable. (not entire hierarchy)

Parameters
viewThe table to check for nullability
Returns
True if any of the columns in the table is nullable, false otherwise

◆ relational_compare()

template<typename Element , std::enable_if_t< std::is_floating_point_v< Element >> * = nullptr>
weak_ordering cudf::relational_compare ( Element  lhs,
Element  rhs 
)

A specialization for floating-point Element type relational comparison to derive the order of the elements with respect to lhs.

A specialization for non-floating-point Element type relational comparison to derive the order of the elements with respect to lhs.

This specialization handles nan in the following order: [-Inf, -ve, 0, -0, +ve, +Inf, NaN, NaN, null] (for null_order::AFTER) [null, -Inf, -ve, 0, -0, +ve, +Inf, NaN, NaN] (for null_order::BEFORE)

Parameters
lhsThe first element
rhsThe second element
Returns
Indicates the relationship between the elements in the lhs and rhs columns

Definition at line 80 of file row_operators.cuh.

◆ scatter_columns()

table_view cudf::scatter_columns ( table_view const &  source,
std::vector< size_type > const &  map,
table_view const &  target 
)

Copy column_views from a table_view into another table_view according to a column indices map.

The output table view, out_table is a copy of the target table_view but with elements updated according to out_table[map[i]] = source[i] where i is [0,source.size())

Parameters
sourceTable of new columns to scatter into the output table view.
mapThe indices where each new_column should be copied into the output.
targetTable to receive the updated column views.
Returns
New table_view.