OmniSciDB
0264ff685a
|
#include <cstddef>
#include <cstdint>
#include <vector>
#include "../../../Shared/SqlTypesLayout.h"
#include "../../../Shared/sqltypes.h"
#include "../../RuntimeFunctions.h"
#include "../../../Shared/funcannotations.h"
Go to the source code of this file.
Classes | |
struct | HashEntryInfo |
struct | JoinChunk |
struct | JoinColumn |
struct | JoinColumnTypeInfo |
struct | JoinBucketInfo |
struct | ShardInfo |
Enumerations | |
enum | ColumnType { SmallDate = 0, Signed = 1, Unsigned = 2, Double = 3 } |
Functions | |
void | init_hash_join_buff (int32_t *buff, const int64_t entry_count, const int32_t invalid_slot_val, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
void | init_hash_join_buff_on_device (int32_t *buff, const int64_t entry_count, const int32_t invalid_slot_val) |
void | init_baseline_hash_join_buff_32 (int8_t *hash_join_buff, const int64_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
void | init_baseline_hash_join_buff_64 (int8_t *hash_join_buff, const int64_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
void | init_baseline_hash_join_buff_on_device_32 (int8_t *hash_join_buff, const int64_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val) |
void | init_baseline_hash_join_buff_on_device_64 (int8_t *hash_join_buff, const int64_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val) |
ColumnType | get_join_column_type_kind (const SQLTypeInfo &ti) |
int | fill_hash_join_buff_bucketized (int32_t *buff, const int32_t invalid_slot_val, const JoinColumn join_column, const JoinColumnTypeInfo type_info, const void *sd_inner, const void *sd_outer, const int32_t cpu_thread_idx, const int32_t cpu_thread_count, const int64_t bucket_normalization) |
int | fill_hash_join_buff (int32_t *buff, const int32_t invalid_slot_val, const JoinColumn join_column, const JoinColumnTypeInfo type_info, const void *sd_inner, const void *sd_outer, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
void | fill_hash_join_buff_on_device (int32_t *buff, const int32_t invalid_slot_val, int *dev_err_buff, const JoinColumn join_column, const JoinColumnTypeInfo type_info) |
void | fill_hash_join_buff_on_device_bucketized (int32_t *buff, const int32_t invalid_slot_val, int *dev_err_buff, const JoinColumn join_column, const JoinColumnTypeInfo type_info, const int64_t bucket_normalization) |
void | fill_hash_join_buff_on_device_sharded (int32_t *buff, const int32_t invalid_slot_val, int *dev_err_buff, const JoinColumn join_column, const JoinColumnTypeInfo type_info, const ShardInfo shard_info) |
void | fill_hash_join_buff_on_device_sharded_bucketized (int32_t *buff, const int32_t invalid_slot_val, int *dev_err_buff, const JoinColumn join_column, const JoinColumnTypeInfo type_info, const ShardInfo shard_info, const int64_t bucket_normalization) |
void | fill_one_to_many_hash_table (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info, const void *sd_inner_proxy, const void *sd_outer_proxy, const unsigned cpu_thread_count) |
void | fill_one_to_many_hash_table_bucketized (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info, const void *sd_inner_proxy, const void *sd_outer_proxy, const unsigned cpu_thread_count) |
void | fill_one_to_many_hash_table_sharded_bucketized (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info, const ShardInfo &shard_info, const void *sd_inner_proxy, const void *sd_outer_proxy, const unsigned cpu_thread_count) |
void | fill_one_to_many_hash_table_on_device (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info) |
void | fill_one_to_many_hash_table_on_device_bucketized (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info) |
void | fill_one_to_many_hash_table_on_device_sharded (int32_t *buff, const HashEntryInfo hash_entry_info, const int32_t invalid_slot_val, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info, const ShardInfo &shard_info) |
int | fill_baseline_hash_join_buff_32 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const GenericKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
int | overlaps_fill_baseline_hash_join_buff_32 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const OverlapsKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
int | fill_baseline_hash_join_buff_64 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const GenericKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
int | overlaps_fill_baseline_hash_join_buff_64 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const OverlapsKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count) |
void | fill_baseline_hash_join_buff_on_device_32 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, int *dev_err_buff, const GenericKeyHandler *key_handler, const int64_t num_elems) |
void | fill_baseline_hash_join_buff_on_device_64 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, int *dev_err_buff, const GenericKeyHandler *key_handler, const int64_t num_elems) |
void | overlaps_fill_baseline_hash_join_buff_on_device_64 (int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, int *dev_err_buff, const OverlapsKeyHandler *key_handler, const int64_t num_elems) |
void | fill_one_to_many_baseline_hash_table_32 (int32_t *buff, const int32_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const std::vector< JoinColumn > &join_column_per_key, const std::vector< JoinColumnTypeInfo > &type_info_per_key, const std::vector< JoinBucketInfo > &join_bucket_info, const std::vector< const void *> &sd_inner_proxy_per_key, const std::vector< const void *> &sd_outer_proxy_per_key, const int32_t cpu_thread_count) |
void | fill_one_to_many_baseline_hash_table_64 (int32_t *buff, const int64_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const std::vector< JoinColumn > &join_column_per_key, const std::vector< JoinColumnTypeInfo > &type_info_per_key, const std::vector< JoinBucketInfo > &join_bucket_info, const std::vector< const void *> &sd_inner_proxy_per_key, const std::vector< const void *> &sd_outer_proxy_per_key, const int32_t cpu_thread_count) |
void | fill_one_to_many_baseline_hash_table_on_device_32 (int32_t *buff, const int32_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const GenericKeyHandler *key_handler, const int64_t num_elems) |
void | fill_one_to_many_baseline_hash_table_on_device_64 (int32_t *buff, const int64_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const GenericKeyHandler *key_handler, const int64_t num_elems) |
void | overlaps_fill_one_to_many_baseline_hash_table_on_device_64 (int32_t *buff, const int64_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const OverlapsKeyHandler *key_handler, const int64_t num_elems) |
void | approximate_distinct_tuples (uint8_t *hll_buffer_all_cpus, const uint32_t b, const size_t padded_size_bytes, const std::vector< JoinColumn > &join_column_per_key, const std::vector< JoinColumnTypeInfo > &type_info_per_key, const int thread_count) |
void | approximate_distinct_tuples_overlaps (uint8_t *hll_buffer_all_cpus, std::vector< int32_t > &row_counts, const uint32_t b, const size_t padded_size_bytes, const std::vector< JoinColumn > &join_column_per_key, const std::vector< JoinColumnTypeInfo > &type_info_per_key, const std::vector< JoinBucketInfo > &join_buckets_per_key, const int thread_count) |
void | approximate_distinct_tuples_on_device (uint8_t *hll_buffer, const uint32_t b, const GenericKeyHandler *key_handler, const int64_t num_elems) |
void | approximate_distinct_tuples_on_device_overlaps (uint8_t *hll_buffer, const uint32_t b, int32_t *row_counts_buffer, const OverlapsKeyHandler *key_handler, const int64_t num_elems) |
void | compute_bucket_sizes (std::vector< double > &bucket_sizes_for_dimension, const JoinColumn &join_column, const JoinColumnTypeInfo &type_info, const double bucket_size_threshold, const int thread_count) |
void | compute_bucket_sizes_on_device (double *bucket_sizes_buffer, const JoinColumn *join_column, const JoinColumnTypeInfo *type_info, const double bucket_sz_threshold) |
Variables | |
const size_t | g_maximum_conditions_to_coalesce {8} |
enum ColumnType |
Enumerator | |
---|---|
SmallDate | |
Signed | |
Unsigned | |
Double |
Definition at line 100 of file HashJoinRuntime.h.
void approximate_distinct_tuples | ( | uint8_t * | hll_buffer_all_cpus, |
const uint32_t | b, | ||
const size_t | padded_size_bytes, | ||
const std::vector< JoinColumn > & | join_column_per_key, | ||
const std::vector< JoinColumnTypeInfo > & | type_info_per_key, | ||
const int | thread_count | ||
) |
Definition at line 1964 of file HashJoinRuntime.cpp.
References approximate_distinct_tuples_impl(), CHECK, and CHECK_EQ.
Referenced by BaselineJoinHashTable::approximateTupleCount().
void approximate_distinct_tuples_on_device | ( | uint8_t * | hll_buffer, |
const uint32_t | b, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
Referenced by BaselineJoinHashTable::approximateTupleCount().
void approximate_distinct_tuples_on_device_overlaps | ( | uint8_t * | hll_buffer, |
const uint32_t | b, | ||
int32_t * | row_counts_buffer, | ||
const OverlapsKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
Referenced by OverlapsJoinHashTable::approximateTupleCount().
void approximate_distinct_tuples_overlaps | ( | uint8_t * | hll_buffer_all_cpus, |
std::vector< int32_t > & | row_counts, | ||
const uint32_t | b, | ||
const size_t | padded_size_bytes, | ||
const std::vector< JoinColumn > & | join_column_per_key, | ||
const std::vector< JoinColumnTypeInfo > & | type_info_per_key, | ||
const std::vector< JoinBucketInfo > & | join_buckets_per_key, | ||
const int | thread_count | ||
) |
Definition at line 2006 of file HashJoinRuntime.cpp.
References approximate_distinct_tuples_impl(), CHECK, CHECK_EQ, and inclusive_scan().
Referenced by OverlapsJoinHashTable::approximateTupleCount().
void compute_bucket_sizes | ( | std::vector< double > & | bucket_sizes_for_dimension, |
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info, | ||
const double | bucket_size_threshold, | ||
const int | thread_count | ||
) |
Definition at line 2054 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::computeBucketSizes().
void compute_bucket_sizes_on_device | ( | double * | bucket_sizes_buffer, |
const JoinColumn * | join_column, | ||
const JoinColumnTypeInfo * | type_info, | ||
const double | bucket_sz_threshold | ||
) |
Referenced by OverlapsJoinHashTable::computeBucketSizes().
int fill_baseline_hash_join_buff_32 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1672 of file HashJoinRuntime.cpp.
Referenced by fill_baseline_hash_join_buff().
int fill_baseline_hash_join_buff_64 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1712 of file HashJoinRuntime.cpp.
Referenced by fill_baseline_hash_join_buff().
void fill_baseline_hash_join_buff_on_device_32 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
int * | dev_err_buff, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
void fill_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
int * | dev_err_buff, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
int fill_hash_join_buff | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info, | ||
const void * | sd_inner, | ||
const void * | sd_outer, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 193 of file HashJoinRuntime.cpp.
References fill_hash_join_buff_impl(), get_hash_slot(), and SUFFIX.
int fill_hash_join_buff_bucketized | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info, | ||
const void * | sd_inner, | ||
const void * | sd_outer, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 169 of file HashJoinRuntime.cpp.
References fill_hash_join_buff_impl(), get_bucketized_hash_slot(), and SUFFIX.
Referenced by PerfectJoinHashTableBuilder::initOneToOneHashTableOnCpu().
void fill_hash_join_buff_on_device | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
int * | dev_err_buff, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info | ||
) |
void fill_hash_join_buff_on_device_bucketized | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
int * | dev_err_buff, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info, | ||
const int64_t | bucket_normalization | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().
void fill_hash_join_buff_on_device_sharded | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
int * | dev_err_buff, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info, | ||
const ShardInfo | shard_info | ||
) |
void fill_hash_join_buff_on_device_sharded_bucketized | ( | int32_t * | buff, |
const int32_t | invalid_slot_val, | ||
int * | dev_err_buff, | ||
const JoinColumn | join_column, | ||
const JoinColumnTypeInfo | type_info, | ||
const ShardInfo | shard_info, | ||
const int64_t | bucket_normalization | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().
void fill_one_to_many_baseline_hash_table_32 | ( | int32_t * | buff, |
const int32_t * | composite_key_dict, | ||
const int64_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const std::vector< JoinColumn > & | join_column_per_key, | ||
const std::vector< JoinColumnTypeInfo > & | type_info_per_key, | ||
const std::vector< JoinBucketInfo > & | join_bucket_info, | ||
const std::vector< const void *> & | sd_inner_proxy_per_key, | ||
const std::vector< const void *> & | sd_outer_proxy_per_key, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1914 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTableBuilder::initHashTableOnCpu().
void fill_one_to_many_baseline_hash_table_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const int64_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const std::vector< JoinColumn > & | join_column_per_key, | ||
const std::vector< JoinColumnTypeInfo > & | type_info_per_key, | ||
const std::vector< JoinBucketInfo > & | join_bucket_info, | ||
const std::vector< const void *> & | sd_inner_proxy_per_key, | ||
const std::vector< const void *> & | sd_outer_proxy_per_key, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1939 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTableBuilder::initHashTableOnCpu().
void fill_one_to_many_baseline_hash_table_on_device_32 | ( | int32_t * | buff, |
const int32_t * | composite_key_dict, | ||
const int64_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
Referenced by fill_one_to_many_baseline_hash_table_on_device().
void fill_one_to_many_baseline_hash_table_on_device_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const int64_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const GenericKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
Referenced by fill_one_to_many_baseline_hash_table_on_device().
void fill_one_to_many_hash_table | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info, | ||
const void * | sd_inner_proxy, | ||
const void * | sd_outer_proxy, | ||
const unsigned | cpu_thread_count | ||
) |
Definition at line 1381 of file HashJoinRuntime.cpp.
References count_matches(), fill_one_to_many_hash_table_impl(), fill_row_ids(), HashEntryInfo::hash_entry_count, and SUFFIX.
Referenced by PerfectJoinHashTableBuilder::initOneToManyHashTableOnCpu().
void fill_one_to_many_hash_table_bucketized | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info, | ||
const void * | sd_inner_proxy, | ||
const void * | sd_outer_proxy, | ||
const unsigned | cpu_thread_count | ||
) |
Definition at line 1438 of file HashJoinRuntime.cpp.
References HashEntryInfo::bucket_normalization, count_matches_bucketized(), fill_one_to_many_hash_table_impl(), fill_row_ids_bucketized(), HashEntryInfo::getNormalizedHashEntryCount(), and SUFFIX.
Referenced by PerfectJoinHashTableBuilder::initOneToManyHashTableOnCpu().
void fill_one_to_many_hash_table_on_device | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().
void fill_one_to_many_hash_table_on_device_bucketized | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().
void fill_one_to_many_hash_table_on_device_sharded | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info, | ||
const ShardInfo & | shard_info | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().
void fill_one_to_many_hash_table_sharded_bucketized | ( | int32_t * | buff, |
const HashEntryInfo | hash_entry_info, | ||
const int32_t | invalid_slot_val, | ||
const JoinColumn & | join_column, | ||
const JoinColumnTypeInfo & | type_info, | ||
const ShardInfo & | shard_info, | ||
const void * | sd_inner_proxy, | ||
const void * | sd_outer_proxy, | ||
const unsigned | cpu_thread_count | ||
) |
|
inline |
Definition at line 127 of file HashJoinRuntime.h.
References SQLTypeInfo::is_date_in_days(), is_unsigned_type(), Signed, SmallDate, and Unsigned.
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory(), OverlapsJoinHashTable::fetchColumnsForDevice(), PerfectJoinHashTable::fetchColumnsForDevice(), BaselineJoinHashTable::fetchColumnsForDevice(), PerfectJoinHashTableBuilder::initOneToManyHashTableOnCpu(), and PerfectJoinHashTableBuilder::initOneToOneHashTableOnCpu().
void init_baseline_hash_join_buff_32 | ( | int8_t * | hash_join_buff, |
const int64_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1640 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTableBuilder::initHashTableOnCpu().
void init_baseline_hash_join_buff_64 | ( | int8_t * | hash_join_buff, |
const int64_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1656 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTableBuilder::initHashTableOnCpu().
void init_baseline_hash_join_buff_on_device_32 | ( | int8_t * | hash_join_buff, |
const int64_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val | ||
) |
Referenced by BaselineJoinHashTableBuilder::initHashTableOnGpu().
void init_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_join_buff, |
const int64_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val | ||
) |
Referenced by BaselineJoinHashTableBuilder::initHashTableOnGpu().
void init_hash_join_buff | ( | int32_t * | buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 92 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTableBuilder::initHashTableOnCpu(), PerfectJoinHashTableBuilder::initOneToManyHashTableOnCpu(), and PerfectJoinHashTableBuilder::initOneToOneHashTableOnCpu().
void init_hash_join_buff_on_device | ( | int32_t * | buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val | ||
) |
Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory(), and BaselineJoinHashTableBuilder::initHashTableOnGpu().
int overlaps_fill_baseline_hash_join_buff_32 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const OverlapsKeyHandler * | key_handler, | ||
const int64_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1692 of file HashJoinRuntime.cpp.
Referenced by fill_baseline_hash_join_buff().
int overlaps_fill_baseline_hash_join_buff_64 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const OverlapsKeyHandler * | key_handler, | ||
const int64_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1732 of file HashJoinRuntime.cpp.
Referenced by fill_baseline_hash_join_buff().
void overlaps_fill_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_buff, |
const int64_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
int * | dev_err_buff, | ||
const OverlapsKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
void overlaps_fill_one_to_many_baseline_hash_table_on_device_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const int64_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const OverlapsKeyHandler * | key_handler, | ||
const int64_t | num_elems | ||
) |
Referenced by fill_one_to_many_baseline_hash_table_on_device().
const size_t g_maximum_conditions_to_coalesce {8} |
Definition at line 60 of file HashJoinRuntime.h.
Referenced by approximate_distinct_tuples_impl(), combine_equi_join_conditions(), count_matches_baseline(), fill_baseline_hash_join_buff(), fill_row_ids_baseline(), and JoinColumnTupleIterator::JoinColumnTupleIterator().