Namespaces | Functions
null_mask.hpp File Reference

APIs for managing validity bitmasks. More...

#include <cudf/types.hpp>
#include <cudf/utilities/default_stream.hpp>
#include <cudf/utilities/export.hpp>
#include <cudf/utilities/memory_resource.hpp>
#include <cudf/utilities/span.hpp>
#include <rmm/device_buffer.hpp>
#include <vector>

Go to the source code of this file.

Namespaces

 cudf
 cuDF interfaces
 

Functions

size_type cudf::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 cudf::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 cudf::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 cudf::create_null_mask (size_type size, mask_state state, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Creates a device_buffer for use as a null value indicator bitmask of a column More...
 
void cudf::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...
 
void cudf::set_null_masks (cudf::host_span< bitmask_type * > bitmasks, cudf::host_span< size_type const > begin_bits, cudf::host_span< size_type const > end_bits, cudf::host_span< bool const > valids, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Sets a vector of non-overlapping pre-allocated bitmask buffers to given states in the corresponding non-aliasing ranges in bulk. More...
 
void cudf::set_null_masks_safe (cudf::host_span< bitmask_type * > bitmasks, cudf::host_span< size_type const > begin_bits, cudf::host_span< size_type const > end_bits, cudf::host_span< bool const > valids, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Sets a vector of non-overlapping pre-allocated bitmask buffers to given states in the corresponding ranges in bulk. More...
 
void cudf::set_null_masks_unsafe (cudf::host_span< bitmask_type * > bitmasks, cudf::host_span< size_type const > begin_bits, cudf::host_span< size_type const > end_bits, cudf::host_span< bool const > valids, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Sets a vector of non-overlapping pre-allocated bitmask buffers to given states in the corresponding non-aliasing ranges in bulk. More...
 
rmm::device_buffer cudf::copy_bitmask (bitmask_type const *mask, size_type begin_bit, size_type end_bit, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Creates a device_buffer from a slice of bitmask defined by a range of indices [begin_bit, end_bit) More...
 
rmm::device_buffer cudf::copy_bitmask (column_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Copies view's bitmask from the bits [view.offset(), view.offset() + view.size()) into a device_buffer More...
 
std::pair< rmm::device_buffer, size_type > cudf::bitmask_and (table_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 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< std::vector< std::unique_ptr< rmm::device_buffer > >, std::vector< size_type > > cudf::segmented_bitmask_and (host_span< column_view const > colviews, host_span< size_type const > segment_offsets, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Performs segmented bitwise AND operations on the null masks of the input columns based on defined segments. For each segment, it computes the bitwise AND of the bitmasks of all columns within that segment. Returns a pair containing (i) a vector of unique pointers to device buffers, with each buffer containing the resulting bitmask for a segment, and (ii) a vector of integers representing the count of null (unset) bits for each segment. More...
 
std::pair< rmm::device_buffer, size_type > cudf::bitmask_or (table_view const &view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 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 cudf::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...
 

Detailed Description

APIs for managing validity bitmasks.

Definition in file null_mask.hpp.