OmniSciDB
c0231cc57d
|
#include <PerfectHashTable.h>
Public Member 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 () override | |
size_t | gpuReservedSize () const |
void | allocateGpuMemory (const size_t entries, const int device_id) |
size_t | getHashTableBufferSize (const ExecutorDeviceType device_type) const override |
HashType | getLayout () const override |
int8_t * | getCpuBuffer () override |
int8_t * | getGpuBuffer () const override |
size_t | getEntryCount () const override |
size_t | getEmittedKeysCount () const override |
void | setHashEntryInfo (HashEntryInfo &hash_entry_info) |
void | setColumnNumElems (size_t elem) |
HashEntryInfo | getHashEntryInfo () const |
size_t | getColumnNumElems () const |
![]() | |
virtual | ~HashTable () |
Private Attributes | |
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_ |
HashEntryInfo | hash_entry_info_ |
size_t | column_num_elems_ |
Additional Inherited Members | |
![]() | |
static DecodedJoinHashBufferSet | toSet (size_t key_component_count, size_t key_component_width, size_t entry_count, const int8_t *ptr1, const int8_t *ptr2, const int8_t *ptr3, const int8_t *ptr4, size_t buffer_size) |
Decode hash table into a std::set for easy inspection and validation. More... | |
static std::string | toString (const std::string &type, const std::string &layout_type, size_t key_component_count, size_t key_component_width, size_t entry_count, const int8_t *ptr1, const int8_t *ptr2, const int8_t *ptr3, const int8_t *ptr4, size_t buffer_size, bool raw=false) |
Decode hash table into a human-readable string. More... | |
Definition at line 25 of file PerfectHashTable.h.
|
inline |
Definition at line 28 of file PerfectHashTable.h.
References CPU, cpu_hash_table_buff_, cpu_hash_table_buff_size_, emitted_keys_count_, entry_count_, layout_, and OneToOne.
|
inlineoverride |
Definition at line 45 of file PerfectHashTable.h.
References CHECK, data_mgr_, Data_Namespace::DataMgr::free(), and gpu_hash_table_buff_.
|
inline |
Definition at line 57 of file PerfectHashTable.h.
References CudaAllocator::allocGpuAbstractBuffer(), CHECK, CHECK_GE, data_mgr_, and gpu_hash_table_buff_.
|
inline |
|
inlineoverridevirtual |
Implements HashTable.
Definition at line 75 of file PerfectHashTable.h.
References cpu_hash_table_buff_.
|
inlineoverridevirtual |
Implements HashTable.
Definition at line 85 of file PerfectHashTable.h.
References emitted_keys_count_.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements HashTable.
Definition at line 79 of file PerfectHashTable.h.
References Data_Namespace::AbstractBuffer::getMemoryPtr(), and gpu_hash_table_buff_.
|
inline |
|
inlineoverridevirtual |
Implements HashTable.
Definition at line 64 of file PerfectHashTable.h.
References CPU, cpu_hash_table_buff_, cpu_hash_table_buff_size_, gpu_hash_table_buff_, and Data_Namespace::AbstractBuffer::reservedSize().
|
inlineoverridevirtual |
|
inline |
Definition at line 52 of file PerfectHashTable.h.
References CHECK, gpu_hash_table_buff_, and Data_Namespace::AbstractBuffer::reservedSize().
|
inline |
|
inline |
|
private |
Definition at line 108 of file PerfectHashTable.h.
Referenced by getColumnNumElems(), and setColumnNumElems().
|
private |
Definition at line 100 of file PerfectHashTable.h.
Referenced by getCpuBuffer(), getHashTableBufferSize(), and PerfectHashTable().
|
private |
Definition at line 101 of file PerfectHashTable.h.
Referenced by getHashTableBufferSize(), and PerfectHashTable().
|
private |
Definition at line 99 of file PerfectHashTable.h.
Referenced by allocateGpuMemory(), and ~PerfectHashTable().
|
private |
Definition at line 105 of file PerfectHashTable.h.
Referenced by getEmittedKeysCount(), and PerfectHashTable().
|
private |
Definition at line 104 of file PerfectHashTable.h.
Referenced by getEntryCount(), and PerfectHashTable().
|
private |
Definition at line 98 of file PerfectHashTable.h.
Referenced by allocateGpuMemory(), getGpuBuffer(), getHashTableBufferSize(), gpuReservedSize(), and ~PerfectHashTable().
|
private |
Definition at line 107 of file PerfectHashTable.h.
Referenced by getHashEntryInfo(), and setHashEntryInfo().
|
private |
Definition at line 103 of file PerfectHashTable.h.
Referenced by getLayout(), and PerfectHashTable().