libcudf  24.04.00
Classes | Namespaces | Functions
column_device_view.cuh File Reference

Column device view class definitions. More...

#include <cudf/column/column_view.hpp>
#include <cudf/detail/offsets_iterator.cuh>
#include <cudf/detail/utilities/alignment.hpp>
#include <cudf/fixed_point/fixed_point.hpp>
#include <cudf/lists/list_view.hpp>
#include <cudf/strings/string_view.cuh>
#include <cudf/strings/strings_column_view.hpp>
#include <cudf/structs/struct_view.hpp>
#include <cudf/types.hpp>
#include <cudf/utilities/bit.hpp>
#include <cudf/utilities/default_stream.hpp>
#include <cudf/utilities/span.hpp>
#include <cudf/utilities/traits.hpp>
#include <cudf/utilities/type_dispatcher.hpp>
#include <rmm/cuda_stream_view.hpp>
#include <thrust/iterator/counting_iterator.h>
#include <thrust/iterator/transform_iterator.h>
#include <thrust/optional.h>
#include <thrust/pair.h>
#include <algorithm>

Go to the source code of this file.

Classes

struct  cudf::nullate
 Indicates the presence of nulls at compile-time or runtime. More...
 
struct  cudf::nullate::YES
 
struct  cudf::nullate::NO
 
struct  cudf::nullate::DYNAMIC
 nullate::DYNAMIC defers the determination of nullability to run time rather than compile time. The calling code is responsible for specifying whether or not nulls are present using the constructor parameter at run time. More...
 
class  cudf::detail::column_device_view_base
 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  cudf::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  cudf::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...
 
struct  cudf::detail::value_accessor< T >
 value accessor of column without null bitmask More...
 
struct  cudf::detail::optional_accessor< T, Nullate >
 optional accessor of a column More...
 
struct  cudf::detail::pair_accessor< T, has_nulls >
 pair accessor of column with/without null bitmask More...
 
struct  cudf::detail::pair_rep_accessor< T, has_nulls >
 pair accessor of column with/without null bitmask More...
 
struct  cudf::detail::mutable_value_accessor< T >
 Mutable value accessor of column without null bitmask. More...
 

Namespaces

 cudf
 cuDF interfaces
 

Functions

template<typename ColumnDeviceView , typename ColumnViewIterator >
ColumnDeviceView * cudf::detail::child_columns_to_device_array (ColumnViewIterator child_begin, ColumnViewIterator child_end, void *h_ptr, void *d_ptr)
 Helper function for use by column_device_view and mutable_column_device_view constructors to build device_views from views. More...
 

Detailed Description

Column device view class definitions.

Definition in file column_device_view.cuh.

Function Documentation

◆ child_columns_to_device_array()

template<typename ColumnDeviceView , typename ColumnViewIterator >
ColumnDeviceView* cudf::detail::child_columns_to_device_array ( ColumnViewIterator  child_begin,
ColumnViewIterator  child_end,
void *  h_ptr,
void *  d_ptr 
)

Helper function for use by column_device_view and mutable_column_device_view constructors to build device_views from views.

It is used to build the array of child columns in device memory. Since child columns can also have child columns, this uses recursion to build up the flat device buffer to contain all the children and set the member pointers appropriately.

This is accomplished by laying out all the children and grand-children into a flat host buffer first but also keep a running device pointer to use when setting the d_children array result.

This function is provided both the host pointer in which to insert its children (and by recursion its grand-children) and the device pointer to be used when calculating ultimate device pointer for the d_children member.

Template Parameters
ColumnViewis either column_view or mutable_column_view
ColumnDeviceViewis either column_device_view or mutable_column_device_view
Parameters
child_beginIterator pointing to begin of child columns to make into a device view
child_endIterator pointing to end of child columns to make into a device view
h_ptrThe host memory where to place any child data
d_ptrThe device pointer for calculating the d_children member of any child data
Returns
The device pointer to be used for the d_children member of the given column

Definition at line 1500 of file column_device_view.cuh.