OmniSciDB
a5dc49c757
|
Go to the source code of this file.
Macros | |
#define | DEF_TRANSLATE_NULL_KEY(key_type) |
Functions | |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE uint32_t | key_hash (const int64_t *key, const uint32_t key_count, const uint32_t key_byte_width) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t * | get_group_value (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_count, const uint32_t key_width, const uint32_t row_size_quad) |
RUNTIME_EXPORT NEVER_INLINE DEVICE bool | dynamic_watchdog () |
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t * | get_group_value_with_watchdog (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_count, const uint32_t key_width, const uint32_t row_size_quad) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int32_t | get_group_value_columnar_slot (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_count, const uint32_t key_width) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int32_t | get_group_value_columnar_slot_with_watchdog (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_count, const uint32_t key_width) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t * | get_group_value_columnar (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_qw_count) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t * | get_group_value_columnar_with_watchdog (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_qw_count) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t * | get_group_value_fast (int64_t *groups_buffer, const int64_t key, const int64_t min_key, const int64_t bucket, const uint32_t row_size_quad) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t * | get_group_value_fast_with_original_key (int64_t *groups_buffer, const int64_t key, const int64_t orig_key, const int64_t min_key, const int64_t bucket, const uint32_t row_size_quad) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE uint32_t | get_columnar_group_bin_offset (int64_t *key_base_ptr, const int64_t key, const int64_t min_key, const int64_t bucket) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t * | get_scan_output_slot (int64_t *output_buffer, const uint32_t output_buffer_entry_count, const uint32_t pos, const int64_t offset_in_fragment, const uint32_t row_size_quad) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int32_t | get_columnar_scan_output_offset (int64_t *output_buffer, const uint32_t output_buffer_entry_count, const uint32_t pos, const int64_t offset_in_fragment) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | bucketized_hash_join_idx (int64_t hash_buff, int64_t const key, int64_t const min_key, int64_t const max_key, const int64_t translated_null_val, int64_t bucket_normalization) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | bucketized_hash_join_idx_nullable (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const int64_t null_val, const int64_t bucket_normalization) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx_nullable (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const int64_t null_val) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | bucketized_hash_join_idx_bitwise (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const int64_t null_val, const int64_t translated_val, const int64_t bucket_normalization) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx_bitwise (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const int64_t null_val, const int64_t translated_val) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx_sharded (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const uint32_t entry_count_per_shard, const uint32_t num_shards, const uint32_t device_count) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx_sharded_nullable (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const uint32_t entry_count_per_shard, const uint32_t num_shards, const uint32_t device_count, const int64_t null_val) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t | hash_join_idx_bitwise_sharded (int64_t hash_buff, const int64_t key, const int64_t min_key, const int64_t max_key, const uint32_t entry_count_per_shard, const uint32_t num_shards, const uint32_t device_count, const int64_t null_val, const int64_t translated_val) |
#define DEF_TRANSLATE_NULL_KEY | ( | key_type | ) |
Definition at line 413 of file GroupByRuntime.cpp.
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t bucketized_hash_join_idx | ( | int64_t | hash_buff, |
int64_t const | key, | ||
int64_t const | min_key, | ||
int64_t const | max_key, | ||
const int64_t | translated_null_val, | ||
int64_t | bucket_normalization | ||
) |
Definition at line 269 of file GroupByRuntime.cpp.
References get_bucketized_hash_slot(), and SUFFIX.
Referenced by bucketized_hash_join_idx_bitwise(), and bucketized_hash_join_idx_nullable().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t bucketized_hash_join_idx_bitwise | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const int64_t | null_val, | ||
const int64_t | translated_val, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 319 of file GroupByRuntime.cpp.
References bucketized_hash_join_idx().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t bucketized_hash_join_idx_nullable | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const int64_t | null_val, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 297 of file GroupByRuntime.cpp.
References bucketized_hash_join_idx().
RUNTIME_EXPORT NEVER_INLINE DEVICE bool dynamic_watchdog | ( | ) |
Definition at line 115 of file cuda_mapd_rt.cu.
References dw_abort, dw_cycle_budget, DW_DEADLINE, dw_sm_cycle_start, dynamic_watchdog_init(), get_smid(), logger::INFO, LOG, and read_cycle_counter().
Referenced by anonymous_namespace{ResultSetReduction.cpp}::check_watchdog(), check_watchdog_rt(), anonymous_namespace{ResultSetReduction.cpp}::check_watchdog_with_seed(), get_group_value_columnar_slot_with_watchdog(), get_group_value_columnar_with_watchdog(), and get_group_value_with_watchdog().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE uint32_t get_columnar_group_bin_offset | ( | int64_t * | key_base_ptr, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | bucket | ||
) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int32_t get_columnar_scan_output_offset | ( | int64_t * | output_buffer, |
const uint32_t | output_buffer_entry_count, | ||
const uint32_t | pos, | ||
const int64_t | offset_in_fragment | ||
) |
Definition at line 257 of file GroupByRuntime.cpp.
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t* get_group_value | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_count, | ||
const uint32_t | key_width, | ||
const uint32_t | row_size_quad | ||
) |
Definition at line 25 of file GroupByRuntime.cpp.
References get_matching_group_value(), and key_hash().
Referenced by ResultSetStorage::moveOneEntryToBuffer().
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t* get_group_value_columnar | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_qw_count | ||
) |
Definition at line 139 of file GroupByRuntime.cpp.
References get_matching_group_value_columnar(), and key_hash().
Referenced by ResultSetStorage::moveOneEntryToBuffer().
RUNTIME_EXPORT NEVER_INLINE DEVICE int32_t get_group_value_columnar_slot | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_count, | ||
const uint32_t | key_width | ||
) |
Definition at line 85 of file GroupByRuntime.cpp.
References get_matching_group_value_columnar_slot(), and key_hash().
RUNTIME_EXPORT NEVER_INLINE DEVICE int32_t get_group_value_columnar_slot_with_watchdog | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_count, | ||
const uint32_t | key_width | ||
) |
Definition at line 109 of file GroupByRuntime.cpp.
References dynamic_watchdog(), get_matching_group_value_columnar_slot(), and key_hash().
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t* get_group_value_columnar_with_watchdog | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_qw_count | ||
) |
Definition at line 163 of file GroupByRuntime.cpp.
References dynamic_watchdog(), get_matching_group_value_columnar(), and key_hash().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t* get_group_value_fast | ( | int64_t * | groups_buffer, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | bucket, | ||
const uint32_t | row_size_quad | ||
) |
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t* get_group_value_fast_with_original_key | ( | int64_t * | groups_buffer, |
const int64_t | key, | ||
const int64_t | orig_key, | ||
const int64_t | min_key, | ||
const int64_t | bucket, | ||
const uint32_t | row_size_quad | ||
) |
RUNTIME_EXPORT NEVER_INLINE DEVICE int64_t* get_group_value_with_watchdog | ( | int64_t * | groups_buffer, |
const uint32_t | groups_buffer_entry_count, | ||
const int64_t * | key, | ||
const uint32_t | key_count, | ||
const uint32_t | key_width, | ||
const uint32_t | row_size_quad | ||
) |
Definition at line 52 of file GroupByRuntime.cpp.
References dynamic_watchdog(), get_matching_group_value(), and key_hash().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t* get_scan_output_slot | ( | int64_t * | output_buffer, |
const uint32_t | output_buffer_entry_count, | ||
const uint32_t | pos, | ||
const int64_t | offset_in_fragment, | ||
const uint32_t | row_size_quad | ||
) |
Definition at line 242 of file GroupByRuntime.cpp.
Referenced by SqliteMemDatabase::runSelect().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key | ||
) |
Definition at line 286 of file GroupByRuntime.cpp.
References get_hash_slot(), and SUFFIX.
Referenced by hash_join_idx_bitwise(), and hash_join_idx_nullable().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx_bitwise | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const int64_t | null_val, | ||
const int64_t | translated_val | ||
) |
Definition at line 338 of file GroupByRuntime.cpp.
References hash_join_idx().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx_bitwise_sharded | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count, | ||
const int64_t | null_val, | ||
const int64_t | translated_val | ||
) |
Definition at line 388 of file GroupByRuntime.cpp.
References hash_join_idx_sharded().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx_nullable | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const int64_t | null_val | ||
) |
Definition at line 310 of file GroupByRuntime.cpp.
References hash_join_idx().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx_sharded | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count | ||
) |
Definition at line 350 of file GroupByRuntime.cpp.
References get_hash_slot_sharded(), and SUFFIX.
Referenced by hash_join_idx_bitwise_sharded(), and hash_join_idx_sharded_nullable().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE int64_t hash_join_idx_sharded_nullable | ( | int64_t | hash_buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | max_key, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count, | ||
const int64_t | null_val | ||
) |
Definition at line 369 of file GroupByRuntime.cpp.
References hash_join_idx_sharded().
RUNTIME_EXPORT ALWAYS_INLINE DEVICE uint32_t key_hash | ( | const int64_t * | key, |
const uint32_t | key_count, | ||
const uint32_t | key_byte_width | ||
) |
Definition at line 21 of file GroupByRuntime.cpp.
References MurmurHash3().
Referenced by get_group_value(), get_group_value_columnar(), anonymous_namespace{ResultSetReduction.cpp}::get_group_value_columnar_reduction(), get_group_value_columnar_slot(), get_group_value_columnar_slot_with_watchdog(), get_group_value_columnar_with_watchdog(), result_set::get_group_value_reduction(), and get_group_value_with_watchdog().