Class PerfectHashTable

class PerfectHashTable : public HashTable

Public Functions

PerfectHashTable(Data_Namespace::DataMgr *data_mgr, const HashType layout, const ExecutorDeviceType device_type, const size_t entry_count, const size_t emitted_keys_count)
~PerfectHashTable()
size_t gpuReservedSize() const
void allocateGpuMemory(const size_t entries, const int device_id)
size_t getHashTableBufferSize(const ExecutorDeviceType device_type) const
HashType getLayout() const
int8_t *getCpuBuffer()
int8_t *getGpuBuffer() const
size_t getEntryCount() const
size_t getEmittedKeysCount() const

Private Members

Data_Namespace::AbstractBuffer *gpu_hash_table_buff_ = {nullptr}
Data_Namespace::DataMgr *data_mgr_
std::unique_ptr<int32_t[]> cpu_hash_table_buff_
size_t cpu_hash_table_buff_size_
HashType layout_
size_t entry_count_
size_t emitted_keys_count_