A bloom filter, used for approximate set membership queries.
More...
#include <bloom_filter.hpp>
A bloom filter, used for approximate set membership queries.
Definition at line 19 of file bloom_filter.hpp.
◆ BloomFilter()
Create a filter.
- Parameters
-
| num_blocks | Number of blocks in the filter. |
| seed | Seed used for hashing each value. |
| stream | CUDA stream for allocations and device operations. |
| mr | Memory resource for allocations. |
◆ add()
Add values to the filter.
- Parameters
-
| values_to_hash | table of values to hash (with cudf::hashing::xxhash_64()) |
| stream | CUDA stream for allocations and device operations. |
| mr | Memory resource for allocations. |
◆ contains()
Return a mask of which rows are contained in the filter.
- Parameters
-
| values | Value to check for set membership |
| stream | CUDA stream for allocations and device operations. |
| mr | Memory resource for allocations. |
- Returns
- Mask vector to be used for filtering the table.
◆ data()
| void* rapidsmpf::BloomFilter::data |
( |
| ) |
|
|
noexcept |
- Returns
- Pointer to the underlying storage.
◆ fitting_num_blocks()
| static std::size_t rapidsmpf::BloomFilter::fitting_num_blocks |
( |
std::size_t |
l2size | ) |
|
|
staticnoexcept |
- Returns
- Number of blocks to use if the filter should fit in a given L2 cache size.
- Parameters
-
| l2size | Size of the L2 cache in bytes. |
◆ merge()
Merge two filters, computing their union.
- Parameters
-
| other | Other filter to merge into this one. |
| stream | CUDA stream for device operations. |
- Exceptions
-
| std::logic_error | If other is not compatible with this filter. |
◆ size()
| std::size_t rapidsmpf::BloomFilter::size |
( |
| ) |
const |
|
noexcept |
- Returns
- Size in bytes of the underlying storage.
◆ stream()
- Returns
- The stream the underlying storage is valid on.
The documentation for this struct was generated from the following file:
- /__w/rapidsmpf/rapidsmpf/cpp/include/rapidsmpf/integrations/cudf/bloom_filter.hpp