A mutable, non-owning view of device data as a column of elements that is trivially copyable and usable in CUDA device code and offline-compiled code (i.e. NVRTC). More...
Public Member Functions | |
| mutable_column_device_view_core (mutable_column_device_view_core const &)=default | |
| Copy constructor. | |
| mutable_column_device_view_core (mutable_column_device_view_core &&)=default | |
| Move constructor. | |
| mutable_column_device_view_core & | operator= (mutable_column_device_view_core const &)=default |
| Copy assignment operator. More... | |
| mutable_column_device_view_core & | operator= (mutable_column_device_view_core &&)=default |
| Move assignment operator. More... | |
| template<typename T = void, CUDF_ENABLE_IF(cuda::std::is_same_v< T, void > or is_rep_layout_compatible< T >()) > | |
| CUDF_HOST_DEVICE T * | head () const noexcept |
| Returns pointer to the base device memory allocation casted to the specified type. More... | |
| template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > | |
| CUDF_HOST_DEVICE T * | data () const noexcept |
| Returns the underlying data casted to the specified type, plus the offset. More... | |
| template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > | |
| T & | element (size_type element_index) const noexcept |
| Returns reference to element at the specified index. More... | |
| template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > | |
| void | assign (size_type element_index, T value) const noexcept |
Assigns value to the element at element_index More... | |
| template<typename T , CUDF_ENABLE_IF(is_fixed_point< T >()) > | |
| void | assign (size_type element_index, T value) const noexcept |
Assigns value to the element at element_index. More... | |
| CUDF_HOST_DEVICE bitmask_type * | null_mask () const noexcept |
| Returns raw pointer to the underlying bitmask allocation. More... | |
| mutable_column_device_view_core | child (size_type child_index) const noexcept |
| Returns the specified child. More... | |
| void | set_mask_word (size_type word_index, bitmask_type new_word) const noexcept |
Updates the specified bitmask word in the null_mask() with a new word. More... | |
Public Member Functions inherited from cudf::detail::column_device_view_base | |
| column_device_view_base (column_device_view_base const &)=default | |
| Copy constructor. | |
| column_device_view_base (column_device_view_base &&)=default | |
| Move constructor. | |
| column_device_view_base & | operator= (column_device_view_base const &)=default |
| Copy assignment operator. More... | |
| column_device_view_base & | operator= (column_device_view_base &&)=default |
| Move assignment operator. More... | |
| template<typename T = void, CUDF_ENABLE_IF(cuda::std::is_same_v< T, void > or is_rep_layout_compatible< T >()) > | |
| CUDF_HOST_DEVICE T const * | head () const noexcept |
| Returns pointer to the base device memory allocation casted to the specified type. More... | |
| template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > | |
| CUDF_HOST_DEVICE T const * | data () const noexcept |
| Returns the underlying data casted to the specified type, plus the offset. More... | |
| CUDF_HOST_DEVICE size_type | size () const noexcept |
| Returns the number of elements in the column. More... | |
| CUDF_HOST_DEVICE data_type | type () const noexcept |
| Returns the element type. More... | |
| CUDF_HOST_DEVICE bool | nullable () const noexcept |
| Indicates whether the column can contain null elements, i.e., if it has an allocated bitmask. More... | |
| CUDF_HOST_DEVICE bitmask_type const * | null_mask () const noexcept |
| Returns raw pointer to the underlying bitmask allocation. More... | |
| CUDF_HOST_DEVICE size_type | offset () const noexcept |
Returns the index of the first element relative to the base memory allocation, i.e., what is returned from head<T>(). More... | |
| bool | is_valid (size_type element_index) const noexcept |
| Returns whether the specified element holds a valid value (i.e., not null). More... | |
| bool | is_valid_nocheck (size_type element_index) const noexcept |
| Returns whether the specified element holds a valid value (i.e., not null) More... | |
| bool | is_null (size_type element_index) const noexcept |
| Returns whether the specified element is null. More... | |
| bool | is_null_nocheck (size_type element_index) const noexcept |
| Returns whether the specified element is null. More... | |
| bitmask_type | get_mask_word (size_type word_index) const noexcept |
Returns the specified bitmask word from the null_mask(). More... | |
Protected Member Functions | |
| CUDF_HOST_DEVICE | mutable_column_device_view_core (data_type type, size_type size, void const *data, bitmask_type const *null_mask, size_type offset, mutable_column_device_view_core *children, size_type num_children) |
| Creates an instance of this class using pre-existing device memory pointers to data, nullmask, and offset. More... | |
Protected Member Functions inherited from cudf::detail::column_device_view_base | |
| CUDF_HOST_DEVICE | column_device_view_base (data_type type, size_type size, void const *data, bitmask_type const *null_mask, size_type offset) |
| Constructs a column with the specified type, size, data, nullmask and offset. More... | |
Protected Attributes | |
| mutable_column_device_view_core * | d_children {} |
| size_type | _num_children {} |
| The number of child columns. | |
Protected Attributes inherited from cudf::detail::column_device_view_base | |
| data_type | _type {type_id::EMPTY} |
| Element type. | |
| cudf::size_type | _size {} |
| Number of elements. | |
| void const * | _data {} |
| Pointer to device memory containing elements. | |
| bitmask_type const * | _null_mask {} |
| size_type | _offset {} |
Additional Inherited Members | |
Static Public Attributes inherited from cudf::detail::column_device_view_base | |
| static constexpr size_type | offsets_column_index {0} |
| Child index of the offsets column. | |
A mutable, non-owning view of device data as a column of elements that is trivially copyable and usable in CUDA device code and offline-compiled code (i.e. NVRTC).
Definition at line 517 of file column_device_view_base.cuh.
|
inlineprotected |
Creates an instance of this class using pre-existing device memory pointers to data, nullmask, and offset.
| type | The type of the column |
| size | The number of elements in the column |
| data | Pointer to the device memory containing the data |
| null_mask | Pointer to the device memory containing the null bitmask |
| offset | The index of the first element in the column |
| children | Pointer to the device memory containing child data |
| num_children | The number of child columns |
Definition at line 722 of file column_device_view_base.cuh.
|
inlinenoexcept |
Assigns value to the element at element_index
| T | The element type |
| element_index | Position of the desired element |
| value | The value to assign |
Definition at line 607 of file column_device_view_base.cuh.
|
inlinenoexcept |
Assigns value to the element at element_index.
value has been scaled to the column's scale| T | The element type |
| element_index | Position of the desired element |
| value | The value to assign |
Definition at line 621 of file column_device_view_base.cuh.
|
inlinenoexcept |
Returns the specified child.
| child_index | The index of the desired child |
column_view Definition at line 649 of file column_device_view_base.cuh.
|
inlinenoexcept |
Returns the underlying data casted to the specified type, plus the offset.
This function does not participate in overload resolution if is_rep_layout_compatible<T> is false.
offset() == 0, then head<T>() == data<T>()| T | The type to cast to |
Definition at line 574 of file column_device_view_base.cuh.
|
inlinenoexcept |
Returns reference to element at the specified index.
This function accounts for the offset.
This function does not participate in overload resolution if is_rep_layout_compatible<T> is false. Specializations of this function may exist for types T where is_rep_layout_compatible<T> is false.
| T | The element type |
| element_index | Position of the desired element |
Definition at line 594 of file column_device_view_base.cuh.
|
inlinenoexcept |
Returns pointer to the base device memory allocation casted to the specified type.
This function will only participate in overload resolution if is_rep_layout_compatible<T>() or std::is_same_v<T,void> are true.
offset() == 0, then head<T>() == data<T>()head<T>() allocation of a column, and instead, accessing the elements should be done via data<T>().| The | type to cast to |
Definition at line 556 of file column_device_view_base.cuh.
|
inlinenoexcept |
Returns raw pointer to the underlying bitmask allocation.
offset().null_count() == 0, this may return nullptr. Definition at line 637 of file column_device_view_base.cuh.
|
default |
Move assignment operator.
|
default |
Copy assignment operator.
|
inlinenoexcept |
Updates the specified bitmask word in the null_mask() with a new word.
nullable() == false.| word_index | The index of the word to update |
| new_word | The new bitmask word |
Definition at line 704 of file column_device_view_base.cuh.
|
protected |
Array of raw_mutable_column_device_view objects in device memory. Based on element type, children may contain additional data
Definition at line 735 of file column_device_view_base.cuh.