GPU-Accelerated Cuckoo Filter
Loading...
Searching...
No Matches
Public Types | Static Public Attributes | List of all members
cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ > Struct Template Reference

Configuration structure for the Cuckoo Filter. More...

Public Types

using KeyType = T
 
using TagType = typename std::conditional< bitsPerTag<=8, uint8_t, typename std::conditional< bitsPerTag<=16, uint16_t, uint32_t >::type >::type
 
using WordType = WordType_
 
using AltBucketPolicy = AltBucketPolicy_< KeyType, TagType, bitsPerTag, bucketSize_ >
 

Static Public Attributes

static constexpr size_t bitsPerTag = bitsPerTag_
 
static constexpr size_t maxEvictions = maxEvictions_
 
static constexpr size_t blockSize = blockSize_
 
static constexpr size_t bucketSize = bucketSize_
 
static constexpr EvictionPolicy evictionPolicy = evictionPolicy_
 

Detailed Description

template<typename T, size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
struct cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >

Configuration structure for the Cuckoo Filter.

This struct defines the compile-time parameters for the Cuckoo Filter, including key type, tag size, bucket size, and eviction policies.

Template Parameters
TThe type of the keys stored in the filter.
bitsPerTag_Number of bits per fingerprint tag.
maxEvictions_Maximum number of evictions during insertion before failure.
blockSize_CUDA block size for kernels.
bucketSize_Number of slots per bucket.
AltBucketPolicy_Policy for calculating alternate bucket indices.
evictionPolicy_Policy for eviction during insertion (DFS or BFS).
WordType_The atomic word type for bucket storage (uint32_t or uint64_t).

Definition at line 51 of file CuckooFilter.cuh.

Member Typedef Documentation

◆ AltBucketPolicy

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
using cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::AltBucketPolicy = AltBucketPolicy_<KeyType, TagType, bitsPerTag, bucketSize_>

Definition at line 71 of file CuckooFilter.cuh.

◆ KeyType

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
using cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::KeyType = T

Definition at line 52 of file CuckooFilter.cuh.

◆ TagType

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
using cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::TagType = typename std::conditional< bitsPerTag <= 8, uint8_t, typename std::conditional<bitsPerTag <= 16, uint16_t, uint32_t>::type>::type

Definition at line 59 of file CuckooFilter.cuh.

◆ WordType

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
using cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::WordType = WordType_

Definition at line 64 of file CuckooFilter.cuh.

Member Data Documentation

◆ bitsPerTag

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
constexpr size_t cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::bitsPerTag = bitsPerTag_
staticconstexpr

Definition at line 53 of file CuckooFilter.cuh.

◆ blockSize

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
constexpr size_t cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::blockSize = blockSize_
staticconstexpr

Definition at line 55 of file CuckooFilter.cuh.

◆ bucketSize

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
constexpr size_t cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::bucketSize = bucketSize_
staticconstexpr

Definition at line 56 of file CuckooFilter.cuh.

◆ evictionPolicy

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
constexpr EvictionPolicy cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::evictionPolicy = evictionPolicy_
staticconstexpr

Definition at line 57 of file CuckooFilter.cuh.

◆ maxEvictions

template<typename T , size_t bitsPerTag_, size_t maxEvictions_ = 500, size_t blockSize_ = 256, size_t bucketSize_ = 16, template< typename, typename, size_t, size_t > class AltBucketPolicy_ = XorAltBucketPolicy, EvictionPolicy evictionPolicy_ = EvictionPolicy::BFS, typename WordType_ = uint64_t>
constexpr size_t cuckoogpu::Config< T, bitsPerTag_, maxEvictions_, blockSize_, bucketSize_, AltBucketPolicy_, evictionPolicy_, WordType_ >::maxEvictions = maxEvictions_
staticconstexpr

Definition at line 54 of file CuckooFilter.cuh.


The documentation for this struct was generated from the following file: