OmniSciDB
a5dc49c757
|
#include <cstdint>
#include <functional>
#include "../../../Shared/funcannotations.h"
#include "../../../Shared/shard_key.h"
Go to the source code of this file.
Macros | |
#define | insert_key_cas(address, compare, val) __sync_val_compare_and_swap(address, compare, val) |
Functions | |
ALWAYS_INLINE DEVICE int SUFFIX() | fill_one_to_one_hashtable (size_t idx, int32_t *entry_ptr, const int32_t invalid_slot_val) |
ALWAYS_INLINE DEVICE int SUFFIX() | fill_hashtable_for_semi_join (size_t idx, int32_t *entry_ptr, const int32_t invalid_slot_val) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_bucketized_hash_slot (int32_t *buff, const int64_t key, const int64_t min_key, const int64_t translated_null_val, const int64_t bucket_normalization) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_hash_slot (int32_t *buff, const int64_t key, const int64_t min_key) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_hash_slot_bitwise_eq (int32_t *buff, const int64_t key, const int64_t min_key, const int64_t translated_null_val) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_bucketized_hash_slot_sharded (int32_t *buff, const int64_t key, const int64_t min_key, const int64_t translated_null_val, const uint32_t entry_count_per_shard, const uint32_t num_shards, const uint32_t device_count, const int64_t bucket_normalization) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_hash_slot_sharded (int32_t *buff, const int64_t key, const int64_t min_key, const uint32_t entry_count_per_shard, const uint32_t num_shards, const uint32_t device_count) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_bucketized_hash_slot_sharded_opt (int32_t *buff, const int64_t key, const int64_t min_key, const int64_t translated_null_val, const uint32_t entry_count_per_shard, const uint32_t shard, const uint32_t num_shards, const uint32_t device_count, const int64_t bucket_normalization) |
ALWAYS_INLINE DEVICE int32_t *SUFFIX() | get_hash_slot_sharded_opt (int32_t *buff, const int64_t key, const int64_t min_key, const uint32_t entry_count_per_shard, const uint32_t shard, const uint32_t num_shards, const uint32_t device_count) |
#define insert_key_cas | ( | address, | |
compare, | |||
val | |||
) | __sync_val_compare_and_swap(address, compare, val) |
Definition at line 40 of file JoinHashImpl.h.
Referenced by fill_hashtable_for_semi_join(), and fill_one_to_one_hashtable().
ALWAYS_INLINE DEVICE int SUFFIX() fill_hashtable_for_semi_join | ( | size_t | idx, |
int32_t * | entry_ptr, | ||
const int32_t | invalid_slot_val | ||
) |
Definition at line 54 of file JoinHashImpl.h.
References insert_key_cas.
Referenced by fill_hash_join_buff(), fill_hash_join_buff_bitwise_eq(), fill_hash_join_buff_bucketized(), fill_hash_join_buff_sharded(), and fill_hash_join_buff_sharded_bucketized().
ALWAYS_INLINE DEVICE int SUFFIX() fill_one_to_one_hashtable | ( | size_t | idx, |
int32_t * | entry_ptr, | ||
const int32_t | invalid_slot_val | ||
) |
Definition at line 44 of file JoinHashImpl.h.
References insert_key_cas.
Referenced by fill_hash_join_buff(), fill_hash_join_buff_bitwise_eq(), fill_hash_join_buff_bucketized(), fill_hash_join_buff_sharded(), and fill_hash_join_buff_sharded_bucketized().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_bucketized_hash_slot | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | translated_null_val, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 66 of file JoinHashImpl.h.
Referenced by bucketized_hash_join_idx(), count_matches_bucketized(), fill_hash_join_buff_bucketized(), and fill_row_ids_bucketized().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_bucketized_hash_slot_sharded | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | translated_null_val, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 90 of file JoinHashImpl.h.
References SHARD_FOR_KEY.
Referenced by fill_row_ids_sharded_bucketized().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_bucketized_hash_slot_sharded_opt | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | translated_null_val, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count, | ||
const int64_t | bucket_normalization | ||
) |
Definition at line 122 of file JoinHashImpl.h.
Referenced by fill_hash_join_buff_sharded_bucketized().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_hash_slot | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key | ||
) |
Definition at line 76 of file JoinHashImpl.h.
Referenced by count_matches(), fill_hash_join_buff(), fill_row_ids(), and hash_join_idx().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_hash_slot_bitwise_eq | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const int64_t | translated_null_val | ||
) |
Definition at line 82 of file JoinHashImpl.h.
Referenced by fill_hash_join_buff_bitwise_eq().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_hash_slot_sharded | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count | ||
) |
Definition at line 108 of file JoinHashImpl.h.
References SHARD_FOR_KEY.
Referenced by count_matches_sharded(), fill_row_ids_sharded(), and hash_join_idx_sharded().
ALWAYS_INLINE DEVICE int32_t* SUFFIX() get_hash_slot_sharded_opt | ( | int32_t * | buff, |
const int64_t | key, | ||
const int64_t | min_key, | ||
const uint32_t | entry_count_per_shard, | ||
const uint32_t | shard, | ||
const uint32_t | num_shards, | ||
const uint32_t | device_count | ||
) |
Definition at line 140 of file JoinHashImpl.h.
Referenced by fill_hash_join_buff_sharded().