GENIE
genie::original Namespace Reference

Classes

struct  _GPUGenie_Config
 Definitions about configurations that can be set by users. More...
 

Typedefs

typedef struct genie::original::_GPUGenie_Config GPUGenie_Config
 struct _GPUGenie_Config More...
 

Functions

bool preprocess_for_knn_csv (GPUGenie_Config &config, genie::table::inv_table *&_table)
 
void knn_search_after_preprocess (GPUGenie_Config &config, genie::table::inv_table *&_table, std::vector< int > &result, std::vector< int > &result_count)
 
void knn_search (std::vector< int > &result, std::vector< int > &result_count, GPUGenie_Config &config)
 
void knn_search (std::vector< int > &result, GPUGenie_Config &config)
 
void knn_search (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, std::vector< int > &h_topk, std::vector< int > &h_topk_count, GPUGenie_Config &config)
 
void knn_search_MT (std::vector< genie::table::inv_table *> &table, std::vector< std::vector< genie::query::Query >> &queries, std::vector< std::vector< int > > &h_topk, std::vector< std::vector< int > > &h_topk_count, std::vector< GPUGenie_Config > &config)
 
void knn_search_for_csv_data (std::vector< int > &result, std::vector< int > &result_count, GPUGenie_Config &config)
 
void load_table (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
void load_query (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void load_query_singlerange (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void load_query_multirange (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void load_table_bijectMap (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
void load_table (genie::table::inv_table &table, int *data, unsigned int item_num, unsigned int *index, unsigned int row_num, GPUGenie_Config &config)
 
void load_table_bijectMap (genie::table::inv_table &table, int *data, unsigned int item_num, unsigned int *index, unsigned int row_num, GPUGenie_Config &config)
 
void load_table_sequence (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
void load_query_sequence (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void sequence_to_gram (std::vector< std::vector< int > > &sequences, std::vector< std::vector< int > > &gram_data, int max_value, int gram_length)
 
void sequence_reduce_to_ground (std::vector< std::vector< int > > &data, std::vector< std::vector< int > > &converted_data, int &min_value, int &max_value)
 
void reset_device ()
 clear gpu memory More...
 
void get_rowID_offset (std::vector< int > &result, std::vector< int > &resultID, std::vector< int > &resultOffset, unsigned int shift_bits)
 
void init_genie (GPUGenie_Config &config)
 

Typedef Documentation

◆ GPUGenie_Config

Function Documentation

◆ get_rowID_offset()

void genie::original::get_rowID_offset ( std::vector< int > &  result,
std::vector< int > &  resultID,
std::vector< int > &  resultOffset,
unsigned int  shift_bits 
)

◆ init_genie()

void genie::original::init_genie ( GPUGenie_Config config)

Definition at line 996 of file interface.cc.

◆ knn_search() [1/3]

void genie::original::knn_search ( std::vector< int > &  result,
std::vector< int > &  result_count,
GPUGenie_Config config 
)

Definition at line 779 of file interface.cc.

◆ knn_search() [2/3]

void genie::original::knn_search ( std::vector< int > &  result,
GPUGenie_Config config 
)

Definition at line 773 of file interface.cc.

◆ knn_search() [3/3]

void genie::original::knn_search ( genie::table::inv_table table,
std::vector< genie::query::Query > &  queries,
std::vector< int > &  h_topk,
std::vector< int > &  h_topk_count,
GPUGenie_Config config 
)

Definition at line 826 of file interface.cc.

◆ knn_search_after_preprocess()

void genie::original::knn_search_after_preprocess ( GPUGenie_Config config,
genie::table::inv_table *&  _table,
std::vector< int > &  result,
std::vector< int > &  result_count 
)

Definition at line 282 of file interface.cc.

◆ knn_search_for_csv_data()

void genie::original::knn_search_for_csv_data ( std::vector< int > &  result,
std::vector< int > &  result_count,
GPUGenie_Config config 
)

Definition at line 758 of file interface.cc.

◆ knn_search_MT()

void genie::original::knn_search_MT ( std::vector< genie::table::inv_table *> &  table,
std::vector< std::vector< genie::query::Query >> &  queries,
std::vector< std::vector< int > > &  h_topk,
std::vector< std::vector< int > > &  h_topk_count,
std::vector< GPUGenie_Config > &  config 
)

◆ load_query()

void genie::original::load_query ( genie::table::inv_table table,
std::vector< genie::query::Query > &  queries,
GPUGenie_Config config 
)

Definition at line 403 of file interface.cc.

◆ load_query_multirange()

void genie::original::load_query_multirange ( genie::table::inv_table table,
std::vector< genie::query::Query > &  queries,
GPUGenie_Config config 
)

Definition at line 427 of file interface.cc.

◆ load_query_sequence()

void genie::original::load_query_sequence ( genie::table::inv_table table,
std::vector< genie::query::Query > &  queries,
GPUGenie_Config config 
)

◆ load_query_singlerange()

void genie::original::load_query_singlerange ( genie::table::inv_table table,
std::vector< genie::query::Query > &  queries,
GPUGenie_Config config 
)

Definition at line 473 of file interface.cc.

◆ load_table() [1/2]

void genie::original::load_table ( genie::table::inv_table table,
std::vector< std::vector< int > > &  data_points,
GPUGenie_Config config 
)

Definition at line 316 of file interface.cc.

◆ load_table() [2/2]

void genie::original::load_table ( genie::table::inv_table table,
int *  data,
unsigned int  item_num,
unsigned int *  index,
unsigned int  row_num,
GPUGenie_Config config 
)

Definition at line 355 of file interface.cc.

◆ load_table_bijectMap() [1/2]

void genie::original::load_table_bijectMap ( genie::table::inv_table table,
std::vector< std::vector< int > > &  data_points,
GPUGenie_Config config 
)

Definition at line 621 of file interface.cc.

◆ load_table_bijectMap() [2/2]

void genie::original::load_table_bijectMap ( genie::table::inv_table table,
int *  data,
unsigned int  item_num,
unsigned int *  index,
unsigned int  row_num,
GPUGenie_Config config 
)

Definition at line 649 of file interface.cc.

◆ load_table_sequence()

void genie::original::load_table_sequence ( genie::table::inv_table table,
std::vector< std::vector< int > > &  data_points,
GPUGenie_Config config 
)

◆ preprocess_for_knn_csv()

bool genie::original::preprocess_for_knn_csv ( GPUGenie_Config config,
genie::table::inv_table *&  _table 
)

Definition at line 150 of file interface.cc.

◆ reset_device()

void genie::original::reset_device ( )

clear gpu memory

Every time a kernel finishes, there would be some information remained on GPU. It can cause the same problem as memory leakage. So we have to clear GPU, if we want to launch multiple queries in one host process

Definition at line 912 of file interface.cc.

◆ sequence_reduce_to_ground()

void genie::original::sequence_reduce_to_ground ( std::vector< std::vector< int > > &  data,
std::vector< std::vector< int > > &  converted_data,
int &  min_value,
int &  max_value 
)

◆ sequence_to_gram()

void genie::original::sequence_to_gram ( std::vector< std::vector< int > > &  sequences,
std::vector< std::vector< int > > &  gram_data,
int  max_value,
int  gram_length 
)