GENIE
match.h
Go to the documentation of this file.
1 
5 #ifndef GPUGenie_match_h
6 #define GPUGenie_match_h
7 
8 #include <stdint.h>
9 #include <thrust/device_vector.h>
10 
11 #include <genie/query/query.h>
12 #include <genie/table/inv_table.h>
13 #include "match_common.h"
14 
15 namespace genie
16 {
17 namespace matching
18 {
19 
31 int
32 cal_max_topk(std::vector<genie::query::Query>& queries);
33 
47 void
48 match(
50  std::vector<genie::query::Query>& queries,
51  thrust::device_vector<genie::matching::data_t>& d_data,
52  thrust::device_vector<u32>& d_bitmap,
53  int hash_table_size,
54  int max_load,
55  int bitmap_bits,
56  thrust::device_vector<u32>& d_noiih,
57  thrust::device_vector<u32>& d_threshold,
58  thrust::device_vector<u32>& d_passCount);
59 
60 void
61 match_MT(
62  std::vector<genie::table::inv_table*>& table,
63  std::vector<std::vector<genie::query::Query> >& queries,
64  std::vector<thrust::device_vector<genie::matching::data_t> >& d_data,
65  std::vector<thrust::device_vector<u32> >& d_bitmap,
66  std::vector<int>& hash_table_size,
67  std::vector<int>& max_load,
68  int bitmap_bits,
69  std::vector<thrust::device_vector<u32> >& d_noiih,
70  std::vector<thrust::device_vector<u32> >& d_threshold,
71  std::vector<thrust::device_vector<u32> >& d_passCount,
72  size_t start,
73  size_t finish);
74 
75 
86 int
87 build_queries(std::vector<genie::query::Query>& queries, genie::table::inv_table& table,
88  std::vector<genie::query::Query::dim>& dims, int max_load);
89 
90 } // namespace matching
91 } // namespace genie
92 
93 #endif
This is the top-level namespace of the project.
The declaration for class inv_table.
Definition: inv_table.h:41
void match_MT(vector< inv_table *> &table, vector< vector< Query > > &queries, vector< device_vector< data_t > > &d_data, vector< device_vector< u32 > > &d_bitmap, vector< int > &hash_table_size, vector< int > &max_load, int bitmap_bits, vector< device_vector< u32 > > &d_noiih, vector< device_vector< u32 > > &d_threshold, vector< device_vector< u32 > > &d_passCount, size_t start, size_t finish)
Definition: match.cu:502
Declaration of query class.
int cal_max_topk(vector< Query > &queries)
Definition: match.cu:212
define class inv_table
int build_queries(vector< Query > &queries, inv_table &table, vector< Query::dim > &dims, int max_load)
Definition: match.cu:161
Basic utility functions to be used in matching kernels.
void match(inv_table &table, vector< Query > &queries, device_vector< data_t > &d_data, device_vector< u32 > &d_bitmap, int hash_table_size, int max_load, int bitmap_bits, device_vector< u32 > &d_noiih, device_vector< u32 > &d_threshold, device_vector< u32 > &d_passCount)
Definition: match.cu:224