OmniSciDB  a7179b2938
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BaselineHashTableBuilder.h File Reference
+ Include dependency graph for BaselineHashTableBuilder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BaselineJoinHashTableBuilder
 

Functions

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
int fill_baseline_hash_join_buff (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 KEY_HANDLER *key_handler, const size_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count)
 
template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_baseline_hash_join_buff_on_device (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 KEY_HANDLER *key_handler, const size_t num_elems, const size_t block_size_x, const size_t grid_size_x)
 
template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_one_to_many_baseline_hash_table_on_device (int32_t *buff, const SIZE *composite_key_dict, const size_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const KEY_HANDLER *key_handler, const size_t num_elems, const size_t block_size_x, const size_t grid_size_x)
 

Function Documentation

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
int fill_baseline_hash_join_buff ( 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 KEY_HANDLER *  key_handler,
const size_t  num_elems,
const int32_t  cpu_thread_idx,
const int32_t  cpu_thread_count 
)

Definition at line 29 of file BaselineHashTableBuilder.h.

References fill_baseline_hash_join_buff_32(), and overlaps_fill_baseline_hash_join_buff_32().

Referenced by fill_baseline_hash_join_buff_wrapper().

37  {
38  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
39  return fill_baseline_hash_join_buff_32(hash_buff,
40  entry_count,
41  invalid_slot_val,
42  key_component_count,
43  with_val_slot,
44  key_handler,
45  num_elems,
46  cpu_thread_idx,
47  cpu_thread_count);
48  } else {
49  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
50  "Only Generic or Overlaps Key Handlers are supported.");
52  entry_count,
53  invalid_slot_val,
54  key_component_count,
55  with_val_slot,
56  key_handler,
57  num_elems,
58  cpu_thread_idx,
59  cpu_thread_count);
60  }
61 }
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_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)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_baseline_hash_join_buff_on_device ( 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 KEY_HANDLER *  key_handler,
const size_t  num_elems,
const size_t  block_size_x,
const size_t  grid_size_x 
)

Definition at line 103 of file BaselineHashTableBuilder.h.

References logger::FATAL, fill_baseline_hash_join_buff_on_device_32(), and LOG.

112  {
113  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
115  entry_count,
116  invalid_slot_val,
117  key_component_count,
118  with_val_slot,
119  dev_err_buff,
120  key_handler,
121  num_elems,
122  block_size_x,
123  grid_size_x);
124  } else {
125  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
126  "Only Generic or Overlaps Key Handlers are supported.");
127  LOG(FATAL) << "32-bit keys not yet supported for overlaps join.";
128  }
129 }
#define LOG(tag)
Definition: Logger.h:188
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, const size_t block_size_x, const size_t grid_size_x)

+ Here is the call graph for this function:

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_one_to_many_baseline_hash_table_on_device ( int32_t *  buff,
const SIZE *  composite_key_dict,
const size_t  hash_entry_count,
const int32_t  invalid_slot_val,
const size_t  key_component_count,
const KEY_HANDLER *  key_handler,
const size_t  num_elems,
const size_t  block_size_x,
const size_t  grid_size_x 
)

Definition at line 174 of file BaselineHashTableBuilder.h.

References logger::FATAL, fill_one_to_many_baseline_hash_table_on_device_32(), and LOG.

182  {
183  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
185  composite_key_dict,
186  hash_entry_count,
187  invalid_slot_val,
188  key_component_count,
189  key_handler,
190  num_elems,
191  block_size_x,
192  grid_size_x);
193  } else {
194  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
195  "Only Generic or Overlaps Key Handlers are supported.");
196  LOG(FATAL) << "32-bit keys not yet supported for overlaps join.";
197  }
198 }
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, const size_t block_size_x, const size_t grid_size_x)
#define LOG(tag)
Definition: Logger.h:188

+ Here is the call graph for this function: