OmniSciDB
b24e664e58
|
#include <cstddef>
#include <cstdint>
#include <vector>
#include "../Shared/SqlTypesLayout.h"
#include "../Shared/sqltypes.h"
Go to the source code of this file.
Classes | |
struct | HashEntryInfo |
struct | JoinColumn |
struct | JoinColumnTypeInfo |
struct | JoinBucketInfo |
struct | ShardInfo |
Enumerations | |
enum | ColumnType { SmallDate = 0, Signed = 1, Unsigned = 2 } |
Functions | |
void | init_hash_join_buff (int32_t *buff, const int32_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 int32_t entry_count, const int32_t invalid_slot_val, const size_t block_size_x, const size_t grid_size_x) |
void | init_baseline_hash_join_buff_32 (int8_t *hash_join_buff, const int32_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 int32_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 int32_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val, const size_t block_size_x, const size_t grid_size_x) |
void | init_baseline_hash_join_buff_on_device_64 (int8_t *hash_join_buff, const int32_t entry_count, const size_t key_component_count, const bool with_val_slot, const int32_t invalid_slot_val, const size_t block_size_x, const size_t grid_size_x) |
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, const size_t block_size_x, const size_t grid_size_x) |
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 size_t block_size_x, const size_t grid_size_x, 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, const size_t block_size_x, const size_t grid_size_x) |
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 size_t block_size_x, const size_t grid_size_x, 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, const size_t block_size_x, const size_t grid_size_x) |
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, const size_t block_size_x, const size_t grid_size_x) |
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, const size_t block_size_x, const size_t grid_size_x) |
int | fill_baseline_hash_join_buff_32 (int8_t *hash_buff, const size_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 size_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 size_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 size_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 size_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 size_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 size_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 size_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 size_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 size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | fill_baseline_hash_join_buff_on_device_64 (int8_t *hash_buff, const size_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 size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | overlaps_fill_baseline_hash_join_buff_on_device_64 (int8_t *hash_buff, const size_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 size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | fill_one_to_many_baseline_hash_table_32 (int32_t *buff, const int32_t *composite_key_dict, const size_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 size_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 size_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const GenericKeyHandler *key_handler, const size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | fill_one_to_many_baseline_hash_table_on_device_64 (int32_t *buff, const int64_t *composite_key_dict, const size_t hash_entry_count, const int32_t invalid_slot_val, const GenericKeyHandler *key_handler, const size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | overlaps_fill_one_to_many_baseline_hash_table_on_device_64 (int32_t *buff, const int64_t *composite_key_dict, const size_t hash_entry_count, const int32_t invalid_slot_val, const OverlapsKeyHandler *key_handler, const size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
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 size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
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 size_t num_elems, const size_t block_size_x, const size_t grid_size_x) |
void | compute_bucket_sizes (std::vector< double > &bucket_sizes_for_dimension, const JoinColumn &join_column, const double bucket_size_threshold, const int thread_count) |
void | compute_bucket_sizes_on_device (double *bucket_sizes_buffer, const JoinColumn *join_column_for_key, const double bucket_sz_threshold, const size_t block_size_x, const size_t grid_size_x) |
Variables | |
const size_t | g_maximum_conditions_to_coalesce |
enum ColumnType |
Enumerator | |
---|---|
SmallDate | |
Signed | |
Unsigned |
Definition at line 99 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 1897 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 size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 546 of file HashJoinRuntimeGpu.cu.
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 size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 531 of file HashJoinRuntimeGpu.cu.
References inclusive_scan().
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 1939 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 double | bucket_size_threshold, | ||
const int | thread_count | ||
) |
Definition at line 1987 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::computeBucketSizes().
void compute_bucket_sizes_on_device | ( | double * | bucket_sizes_buffer, |
const JoinColumn * | join_column_for_key, | ||
const double | bucket_sz_threshold, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 556 of file HashJoinRuntimeGpu.cu.
Referenced by OverlapsJoinHashTable::computeBucketSizes().
int fill_baseline_hash_join_buff_32 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1605 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTable::initHashTableOnCpu().
int fill_baseline_hash_join_buff_64 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1645 of file HashJoinRuntime.cpp.
Referenced by BaselineJoinHashTable::initHashTableOnCpu().
void fill_baseline_hash_join_buff_on_device_32 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 409 of file HashJoinRuntimeGpu.cu.
Referenced by BaselineJoinHashTable::initHashTableOnGpu().
void fill_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 430 of file HashJoinRuntimeGpu.cu.
Referenced by BaselineJoinHashTable::initHashTableOnGpu().
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 184 of file HashJoinRuntime.cpp.
References fill_hash_join_buff_impl(), get_hash_slot(), and SUFFIX.
Referenced by fill_hash_join_buff_wrapper().
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 160 of file HashJoinRuntime.cpp.
References fill_hash_join_buff_impl(), get_bucketized_hash_slot(), and SUFFIX.
Referenced by fill_hash_join_buff_bucketized_wrapper(), and JoinHashTable::initHashTableOnCpu().
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, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 62 of file HashJoinRuntimeGpu.cu.
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 size_t | block_size_x, | ||
const size_t | grid_size_x, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 50 of file HashJoinRuntimeGpu.cu.
Referenced by JoinHashTable::initHashTableForDevice().
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, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 125 of file HashJoinRuntimeGpu.cu.
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 size_t | block_size_x, | ||
const size_t | grid_size_x, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 105 of file HashJoinRuntimeGpu.cu.
Referenced by JoinHashTable::initHashTableForDevice().
void fill_one_to_many_baseline_hash_table_32 | ( | int32_t * | buff, |
const int32_t * | composite_key_dict, | ||
const size_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 1847 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu(), and BaselineJoinHashTable::initHashTableOnCpu().
void fill_one_to_many_baseline_hash_table_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const size_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 1872 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu(), and BaselineJoinHashTable::initHashTableOnCpu().
void fill_one_to_many_baseline_hash_table_on_device_32 | ( | int32_t * | buff, |
const int32_t * | composite_key_dict, | ||
const size_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | key_component_count, | ||
const GenericKeyHandler * | key_handler, | ||
const size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 473 of file HashJoinRuntimeGpu.cu.
Referenced by BaselineJoinHashTable::initHashTableOnGpu().
void fill_one_to_many_baseline_hash_table_on_device_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const size_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const GenericKeyHandler * | key_handler, | ||
const size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 493 of file HashJoinRuntimeGpu.cu.
Referenced by BaselineJoinHashTable::initHashTableOnGpu().
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 1312 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 JoinHashTable::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 1369 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 JoinHashTable::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, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 204 of file HashJoinRuntimeGpu.cu.
References count_matches(), fill_one_to_many_hash_table_on_device_impl(), fill_row_ids(), HashEntryInfo::hash_entry_count, and SUFFIX.
Referenced by JoinHashTable::initOneToManyHashTable().
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, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 245 of file HashJoinRuntimeGpu.cu.
References HashEntryInfo::bucket_normalization, count_matches_bucketized(), fill_one_to_many_hash_table_on_device_impl(), fill_row_ids_bucketized(), HashEntryInfo::getNormalizedHashEntryCount(), and SUFFIX.
Referenced by JoinHashTable::initOneToManyHashTable().
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, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 293 of file HashJoinRuntimeGpu.cu.
References count_matches_sharded(), fill_row_ids_sharded(), HashEntryInfo::hash_entry_count, inclusive_scan(), and SUFFIX.
Referenced by JoinHashTable::initOneToManyHashTable().
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 116 of file HashJoinRuntime.h.
References is_unsigned_type(), Signed, SmallDate, and Unsigned.
Referenced by OverlapsJoinHashTable::fetchColumnsForDevice(), BaselineJoinHashTable::fetchColumnsForDevice(), JoinHashTable::initHashTableForDevice(), JoinHashTable::initHashTableOnCpu(), JoinHashTable::initOneToManyHashTable(), and JoinHashTable::initOneToManyHashTableOnCpu().
void init_baseline_hash_join_buff_32 | ( | int8_t * | hash_join_buff, |
const int32_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 1573 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu(), and BaselineJoinHashTable::initHashTableOnCpu().
void init_baseline_hash_join_buff_64 | ( | int8_t * | hash_join_buff, |
const int32_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 1589 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu(), and BaselineJoinHashTable::initHashTableOnCpu().
void init_baseline_hash_join_buff_on_device_32 | ( | int8_t * | hash_join_buff, |
const int32_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 366 of file HashJoinRuntimeGpu.cu.
Referenced by OverlapsJoinHashTable::initHashTableOnGpu(), and BaselineJoinHashTable::initHashTableOnGpu().
void init_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_join_buff, |
const int32_t | entry_count, | ||
const size_t | key_component_count, | ||
const bool | with_val_slot, | ||
const int32_t | invalid_slot_val, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 377 of file HashJoinRuntimeGpu.cu.
Referenced by OverlapsJoinHashTable::initHashTableOnGpu(), and BaselineJoinHashTable::initHashTableOnGpu().
void init_hash_join_buff | ( | int32_t * | buff, |
const int32_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 90 of file HashJoinRuntime.cpp.
References groups_buffer.
Referenced by init_hash_join_buff_wrapper(), OverlapsJoinHashTable::initHashTableOnCpu(), BaselineJoinHashTable::initHashTableOnCpu(), JoinHashTable::initHashTableOnCpu(), and JoinHashTable::initOneToManyHashTableOnCpu().
void init_hash_join_buff_on_device | ( | int32_t * | buff, |
const int32_t | entry_count, | ||
const int32_t | invalid_slot_val, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 143 of file HashJoinRuntimeGpu.cu.
Referenced by JoinHashTable::initHashTableForDevice(), OverlapsJoinHashTable::initHashTableOnGpu(), BaselineJoinHashTable::initHashTableOnGpu(), and JoinHashTable::initOneToManyHashTable().
int overlaps_fill_baseline_hash_join_buff_32 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1625 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu().
int overlaps_fill_baseline_hash_join_buff_64 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const int32_t | cpu_thread_idx, | ||
const int32_t | cpu_thread_count | ||
) |
Definition at line 1665 of file HashJoinRuntime.cpp.
Referenced by OverlapsJoinHashTable::initHashTableOnCpu().
void overlaps_fill_baseline_hash_join_buff_on_device_64 | ( | int8_t * | hash_buff, |
const size_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 size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 451 of file HashJoinRuntimeGpu.cu.
Referenced by OverlapsJoinHashTable::initHashTableOnGpu().
void overlaps_fill_one_to_many_baseline_hash_table_on_device_64 | ( | int32_t * | buff, |
const int64_t * | composite_key_dict, | ||
const size_t | hash_entry_count, | ||
const int32_t | invalid_slot_val, | ||
const OverlapsKeyHandler * | key_handler, | ||
const size_t | num_elems, | ||
const size_t | block_size_x, | ||
const size_t | grid_size_x | ||
) |
Definition at line 512 of file HashJoinRuntimeGpu.cu.
Referenced by OverlapsJoinHashTable::initHashTableOnGpu().
const size_t g_maximum_conditions_to_coalesce |
Definition at line 53 of file HashJoinRuntime.h.
Referenced by approximate_distinct_tuples_impl(), combine_equi_join_conditions(), count_matches_baseline(), fill_baseline_hash_join_buff(), and fill_row_ids_baseline().