Conversation
|
Can one of the admins verify this patch? |
1261426 to
2e68593
Compare
|
ok to test |
|
Meh, forgot that I don't have the permissions to fire up the CI. This PR is ready to test and ready for review. |
b55e7da to
2ca505f
Compare
|
add to whitelist |
|
okay to test |
|
ok to test |
|
add to whitelist |
|
rerun tests |
1 similar comment
|
rerun tests |
| * in the filter. | ||
| * | ||
| * @tparam block_size The size of the thread block | ||
| * @tparam InputIt Device accessible input iterator whose `value_type` is |
There was a problem hiding this comment.
As I understand input iterators don't enforce equality_comparable property (unlike legacy input iterators or random access iterators). If I'm not mistaken, we might need to rewrite (first + tid) < last as auto size = distance(first, last); tid < size or require legacy input iterators in the documentation. I'm not particularly strong in the field of iterator concepts, so correct me if I'm wrong 😅
|
@sleeepyjack can you resolve conflicts? |
on it |
60dcc65 to
5578405
Compare
|
I'm dropping the Here are some benchmark results on A100 80GB L2-resident vs. non-resident filter:
|
|
@sleeepyjack we would love to see this work pushed forward so we can utilize this. Is there anything that we can do to help here? |
|
@kkraus14 I can move this up on my task list and hammer out a new draft PR tomorrow so we can get started on discussing the last few design questions. I'll keep you posted. |
|
Superseeded by #573 |
Superseeds #101 Implementation of a GPU "Blocked Bloom Filter". This PR is an updated/optimized version of #101 and features the following improvements: - Incorporate the new library design - Improve performance by computing the key's bit pattern based on a single hash value instead of using a double hashing derivative --------- Co-authored-by: Yunsong Wang <yunsongw@nvidia.com>

Adds a new class called
cuco::bloom_filterfor approximate set membership queries.It is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not – in other words, a query returns either "possibly in set" or "definitely not in set". Elements can be added to the set, but not removed; the more items added, the larger the probability of false positives.
The type of implementation used here is known as a "partitioned" or "pattern-blocked" bloom filter.
This PR comes with examples, benchmarks, as well as unit tests.