GENIE
interface.h File Reference
#include <vector>
#include <string>
#include <genie/compression/DeviceCodecFactory.h>
#include <genie/configure.h>
#include <genie/exception/exception.h>
#include <genie/query/query.h>
#include <genie/table/inv_table.h>
#include <genie/utility/FileReader.h>

Go to the source code of this file.

Classes

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

Namespaces

 genie
 This is the top-level namespace of the project.
 
 genie::original
 

Macros

#define GPUGENIE_DEFAULT_TOPK   10
 
#define GPUGENIE_DEFAULT_RADIUS   0
 
#define GPUGENIE_DEFAULT_THRESHOLD   0
 
#define GPUGENIE_DEFAULT_HASHTABLE_SIZE   1.0f
 
#define GPUGENIE_DEFAULT_WEIGHT   1
 
#define GPUGENIE_DEFAULT_DEVICE   0
 
#define GPUGENIE_DEFAULT_USE_ADAPTIVE_RANGE   false
 
#define GPUGENIE_DEFAULT_SELECTIVITY   -1.0f
 
#define GPUGENIE_DEFAULT_POSTING_LIST_LENGTH   100000
 
#define GPUGENIE_DEFAULT_LOAD_MULTIPLIER   3.0f
 
#define GPUGENIE_DEFAULT_USE_LOAD_BALANCE   false
 
#define GPUGENIE_DEFAULT_USE_MULTIRANGE   true
 
#define GPUGENIE_DEFAULT_NUM_OF_QUERIES   0
 

Typedefs

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

Functions

bool genie::original::preprocess_for_knn_csv (GPUGenie_Config &config, genie::table::inv_table *&_table)
 
void genie::original::knn_search_after_preprocess (GPUGenie_Config &config, genie::table::inv_table *&_table, std::vector< int > &result, std::vector< int > &result_count)
 
void genie::original::knn_search (std::vector< int > &result, std::vector< int > &result_count, GPUGenie_Config &config)
 
void genie::original::knn_search (std::vector< int > &result, GPUGenie_Config &config)
 
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)
 
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)
 
void genie::original::knn_search_for_csv_data (std::vector< int > &result, std::vector< int > &result_count, GPUGenie_Config &config)
 
void genie::original::load_table (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
void genie::original::load_query (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void genie::original::load_query_singlerange (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void genie::original::load_query_multirange (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
void genie::original::load_table_bijectMap (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
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)
 
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)
 
void genie::original::load_table_sequence (genie::table::inv_table &table, std::vector< std::vector< int > > &data_points, GPUGenie_Config &config)
 
void genie::original::load_query_sequence (genie::table::inv_table &table, std::vector< genie::query::Query > &queries, GPUGenie_Config &config)
 
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)
 
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)
 
void genie::original::reset_device ()
 clear gpu memory More...
 
void genie::original::get_rowID_offset (std::vector< int > &result, std::vector< int > &resultID, std::vector< int > &resultOffset, unsigned int shift_bits)
 
void genie::original::init_genie (GPUGenie_Config &config)
 

Macro Definition Documentation

◆ GPUGENIE_DEFAULT_DEVICE

#define GPUGENIE_DEFAULT_DEVICE   0

Definition at line 35 of file interface.h.

◆ GPUGENIE_DEFAULT_HASHTABLE_SIZE

#define GPUGENIE_DEFAULT_HASHTABLE_SIZE   1.0f

Definition at line 29 of file interface.h.

◆ GPUGENIE_DEFAULT_LOAD_MULTIPLIER

#define GPUGENIE_DEFAULT_LOAD_MULTIPLIER   3.0f

Definition at line 47 of file interface.h.

◆ GPUGENIE_DEFAULT_NUM_OF_QUERIES

#define GPUGENIE_DEFAULT_NUM_OF_QUERIES   0

Definition at line 56 of file interface.h.

◆ GPUGENIE_DEFAULT_POSTING_LIST_LENGTH

#define GPUGENIE_DEFAULT_POSTING_LIST_LENGTH   100000

Definition at line 44 of file interface.h.

◆ GPUGENIE_DEFAULT_RADIUS

#define GPUGENIE_DEFAULT_RADIUS   0

Definition at line 23 of file interface.h.

◆ GPUGENIE_DEFAULT_SELECTIVITY

#define GPUGENIE_DEFAULT_SELECTIVITY   -1.0f

Definition at line 41 of file interface.h.

◆ GPUGENIE_DEFAULT_THRESHOLD

#define GPUGENIE_DEFAULT_THRESHOLD   0

Definition at line 26 of file interface.h.

◆ GPUGENIE_DEFAULT_TOPK

#define GPUGENIE_DEFAULT_TOPK   10

Definition at line 20 of file interface.h.

◆ GPUGENIE_DEFAULT_USE_ADAPTIVE_RANGE

#define GPUGENIE_DEFAULT_USE_ADAPTIVE_RANGE   false

Definition at line 38 of file interface.h.

◆ GPUGENIE_DEFAULT_USE_LOAD_BALANCE

#define GPUGENIE_DEFAULT_USE_LOAD_BALANCE   false

Definition at line 50 of file interface.h.

◆ GPUGENIE_DEFAULT_USE_MULTIRANGE

#define GPUGENIE_DEFAULT_USE_MULTIRANGE   true

Definition at line 53 of file interface.h.

◆ GPUGENIE_DEFAULT_WEIGHT

#define GPUGENIE_DEFAULT_WEIGHT   1

Definition at line 32 of file interface.h.