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_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< rmm::device_buffer, size_type > | cudf::bitmask_and (host_span< bitmask_type const *const > masks, host_span< size_type const > begin_bits, size_type mask_size, 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 provided. 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. More... | |
| std::pair< std::vector< std::unique_ptr< rmm::device_buffer > >, std::vector< size_type > > | cudf::segmented_bitmask_and (host_span< bitmask_type const *const > masks, host_span< size_type const > segment_offsets, size_type mask_size_bits, 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 on defined segments. 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... | |
| 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... | |
| std::vector< size_type > | cudf::batch_null_count (host_span< bitmask_type const *const > bitmasks, size_type start, size_type stop, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Given a list of validity bitmasks, counts the number of null elements (unset bits) in the range [start, stop) for each bitmask. More... | |
| std::vector< size_type > | cudf::segmented_valid_count (bitmask_type const *bitmask, host_span< size_type const > indices, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Given a validity bitmask, counts the number of valid elements (set bits) in every range [indices[2*i], indices[(2*i)+1]) (where 0 <= i < indices.size() / 2). More... | |
| std::vector< size_type > | cudf::segmented_null_count (bitmask_type const *bitmask, host_span< size_type const > indices, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Given a validity bitmask, counts the number of null elements (unset bits) in every range [indices[2*i], indices[(2*i)+1]) (where 0 <= i < indices.size() / 2). More... | |
| size_type | cudf::index_of_first_set_bit (bitmask_type const *bitmask, size_type start, size_type stop, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Given a validity bitmask, returns the index of the first set bit in the range [start, stop) relative to start. More... | |
APIs for managing validity bitmasks.
Definition in file null_mask.hpp.