OmniSciDB
bf83d84833
|
Go to the source code of this file.
Macros | |
#define | DEF_TRANSLATE_NULL_KEY(key_type) |
Functions | |
ALWAYS_INLINE DEVICE uint32_t | key_hash (const int64_t *key, const uint32_t key_count, const uint32_t key_byte_width) |
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) |
NEVER_INLINE DEVICE bool | dynamic_watchdog () |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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, int64_t bucket_normalization) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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 405 of file GroupByRuntime.cpp.
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, | ||
int64_t | bucket_normalization | ||
) |
Definition at line 270 of file GroupByRuntime.cpp.
References get_bucketized_hash_slot(), and SUFFIX.
Referenced by bucketized_hash_join_idx_bitwise(), and bucketized_hash_join_idx_nullable().
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 313 of file GroupByRuntime.cpp.
References bucketized_hash_join_idx().
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 293 of file GroupByRuntime.cpp.
References bucketized_hash_join_idx().
NEVER_INLINE DEVICE bool dynamic_watchdog | ( | ) |
Definition at line 116 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(), get_group_value_columnar_slot_with_watchdog(), get_group_value_columnar_with_watchdog(), and get_group_value_with_watchdog().
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 | ||
) |
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 258 of file GroupByRuntime.cpp.
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 26 of file GroupByRuntime.cpp.
References get_matching_group_value(), and key_hash().
Referenced by ResultSetStorage::moveOneEntryToBuffer().
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 140 of file GroupByRuntime.cpp.
References get_matching_group_value_columnar(), and key_hash().
Referenced by ResultSetStorage::moveOneEntryToBuffer().
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 86 of file GroupByRuntime.cpp.
References get_matching_group_value_columnar_slot(), and key_hash().
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 110 of file GroupByRuntime.cpp.
References dynamic_watchdog(), get_matching_group_value_columnar_slot(), and key_hash().
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().
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 | ||
) |
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 | ||
) |
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 53 of file GroupByRuntime.cpp.
References dynamic_watchdog(), get_matching_group_value(), and key_hash().
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 243 of file GroupByRuntime.cpp.
Referenced by SqliteMemDatabase::runSelect().
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 282 of file GroupByRuntime.cpp.
References get_hash_slot(), and SUFFIX.
Referenced by hash_join_idx_bitwise(), and hash_join_idx_nullable().
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 330 of file GroupByRuntime.cpp.
References hash_join_idx().
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 380 of file GroupByRuntime.cpp.
References hash_join_idx_sharded().
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 304 of file GroupByRuntime.cpp.
References hash_join_idx().
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 342 of file GroupByRuntime.cpp.
References get_hash_slot_sharded(), and SUFFIX.
Referenced by hash_join_idx_bitwise_sharded(), and hash_join_idx_sharded_nullable().
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 361 of file GroupByRuntime.cpp.
References hash_join_idx_sharded().
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 20 of file GroupByRuntime.cpp.
References MurmurHash1().
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().