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... | |
APIs for managing validity bitmasks.
Definition in file null_mask.hpp.