OmniSciDB
c1a53651b2
|
#include <BaselineHashTableBuilder.h>
Public Member Functions | |
BaselineJoinHashTableBuilder ()=default | |
template<class KEY_HANDLER > | |
int | initHashTableOnCpu (KEY_HANDLER *key_handler, const CompositeKeyInfo &composite_key_info, const std::vector< JoinColumn > &join_columns, const std::vector< JoinColumnTypeInfo > &join_column_types, const std::vector< JoinBucketInfo > &join_bucket_info, const StrProxyTranslationMapsPtrsAndOffsets &str_proxy_translation_maps_ptrs_and_offsets, const size_t keyspace_entry_count, const size_t keys_for_all_rows, const HashType layout, const JoinType join_type, const size_t key_component_width, const size_t key_component_count, const RegisteredQueryHint &query_hint) |
void | allocateDeviceMemory (const HashType layout, const size_t key_component_width, const size_t key_component_count, const size_t keyspace_entry_count, const size_t emitted_keys_count, const int device_id, const Executor *executor, const RegisteredQueryHint &query_hint) |
template<class KEY_HANDLER > | |
int | initHashTableOnGpu (KEY_HANDLER *key_handler, const std::vector< JoinColumn > &join_columns, const HashType layout, const JoinType join_type, const size_t key_component_width, const size_t key_component_count, const size_t keyspace_entry_count, const size_t emitted_keys_count, const int device_id, const Executor *executor, const RegisteredQueryHint &query_hint) |
std::unique_ptr < BaselineHashTable > | getHashTable () |
void | setHashLayout (HashType layout) |
HashType | getHashLayout () const |
Private Attributes | |
std::unique_ptr < BaselineHashTable > | hash_table_ |
HashType | layout_ |
Definition at line 261 of file BaselineHashTableBuilder.h.
|
default |
|
inline |
Definition at line 503 of file BaselineHashTableBuilder.h.
References HashJoin::getHashTypeString(), hash_table_, RegisteredQueryHint::isHintRegistered(), kMaxJoinHashTableSize, HashJoin::layoutRequiresAdditionalBuffers(), RegisteredQueryHint::max_join_hash_table_size, OneToOne, UNREACHABLE, and VLOG.
Referenced by BaselineJoinHashTable::copyCpuHashTableToGpu(), and initHashTableOnGpu().
|
inline |
|
inline |
Definition at line 690 of file BaselineHashTableBuilder.h.
References hash_table_.
Referenced by BaselineJoinHashTable::copyCpuHashTableToGpu(), and BaselineJoinHashTable::initHashTableForDevice().
|
inline |
Definition at line 265 of file BaselineHashTableBuilder.h.
References ANTI, threading_serial::async(), CHECK, cpu_threads(), DEBUG_TIMER, DEBUG_TIMER_NEW_THREAD, fill_one_to_many_baseline_hash_table_32(), fill_one_to_many_baseline_hash_table_64(), HashJoin::getHashTypeString(), hash_table_, init_baseline_hash_join_buff_32(), init_baseline_hash_join_buff_64(), init_hash_join_buff(), RegisteredQueryHint::isHintRegistered(), kMaxJoinHashTableSize, HashJoin::layoutRequiresAdditionalBuffers(), RegisteredQueryHint::max_join_hash_table_size, OneToOne, SEMI, setHashLayout(), logger::thread_local_ids(), UNREACHABLE, VLOG, and WINDOW_FUNCTION_FRAMING.
Referenced by BaselineJoinHashTable::initHashTableForDevice(), and OverlapsJoinHashTable::initHashTableOnCpu().
|
inline |
Definition at line 554 of file BaselineHashTableBuilder.h.
References allocateDeviceMemory(), ANTI, CHECK, DEBUG_TIMER, getQueryEngineCudaStreamForDevice(), hash_table_, init_baseline_hash_join_buff_on_device_32(), init_baseline_hash_join_buff_on_device_64(), init_hash_join_buff_on_device(), HashJoin::layoutRequiresAdditionalBuffers(), OneToOne, SEMI, setHashLayout(), transfer_flat_object_to_gpu(), UNREACHABLE, and WINDOW_FUNCTION_FRAMING.
Referenced by BaselineJoinHashTable::initHashTableForDevice().
|
inline |
Definition at line 692 of file BaselineHashTableBuilder.h.
References layout_.
Referenced by initHashTableOnCpu(), and initHashTableOnGpu().
|
private |
Definition at line 697 of file BaselineHashTableBuilder.h.
Referenced by allocateDeviceMemory(), getHashTable(), initHashTableOnCpu(), and initHashTableOnGpu().
|
private |
Definition at line 698 of file BaselineHashTableBuilder.h.
Referenced by getHashLayout(), and setHashLayout().