GENIE
|
#include <inv_compr_table.h>
Public Member Functions | |
inv_compr_table () | |
Default constructor of the inv_compr_table. More... | |
virtual | ~inv_compr_table () |
genie::compression::COMPRESSION_TYPE | getCompression () const |
void | setCompression (genie::compression::COMPRESSION_TYPE compression) |
size_t | getUncompressedPostingListMaxLength () const |
void | setUncompressedPostingListMaxLength (size_t length) |
virtual std::vector< int > * | inv () |
std::vector< uint32_t > * | compressedInv () |
std::vector< int > * | uncompressedInv () |
virtual std::vector< int > * | inv_pos () |
std::vector< int > * | compressedInvPos () |
std::vector< int > * | uncompressedInvPos () |
uint32_t * | deviceCompressedInv () const |
double | getCompressionRatio () |
virtual void | build (size_t max_length, bool use_load_balance) |
Build the inv_table. More... | |
bool | cpy_data_to_gpu () |
Copy vector _inv to gpu memory which is referenced by d_inv_p. More... | |
void | clear_gpu_mem () |
clear the corresponding gpu memory referenced by d_inv_p More... | |
void | clear () |
template<class Archive > | |
void | load (Archive &ar, const unsigned int version) |
template<class Archive > | |
void | save (Archive &ar, const unsigned int version) const |
![]() | |
inv_table () | |
Default constructor of the inv_table. More... | |
virtual | ~inv_table () |
The Destructor of the inv_table. It will also clear the related gpu memory. More... | |
std::unordered_map< int, int > * | get_distinct_map (int dim) |
void | append_sequence (inv_list &inv) |
append inv_list for sequence search More... | |
void | set_table_index (int attr_index) |
Set the table_index to 'index'. More... | |
void | set_total_num_of_table (int num) |
Set the total_num_of_table to 'num'. More... | |
int | get_table_index () const |
return the index of this inv_table. More... | |
int | get_total_num_of_table () const |
return the total_num_of_table. More... | |
bool | cpy_data_to_gpu () |
Copy vector _inv to gpu memory which is referenced by d_inv_p. More... | |
void | clear_gpu_mem () |
clear the corresponding gpu memory referenced by d_inv_p More... | |
void | clear () |
Clear the inv_table. More... | |
bool | empty () |
Check whether the inv_table is empty. More... | |
int | m_size () |
int | i_size () |
int | shifter () |
unsigned int | _shift_bits_subsequence () |
void | append (inv_list &inv) |
Append an inv_list to the inv_table. More... | |
void | append (inv_list *inv) |
Append an inv_list to the inv_table. More... | |
status | build_status () |
std::vector< inv_list > * | inv_lists () |
virtual std::vector< int > * | ck () |
std::unordered_map< size_t, int > * | inv_index_map () |
int | get_upperbound_of_list (int attr_index) |
int | get_lowerbound_of_list (int attr_index) |
int | get_posting_list_size (int attr_index, int value) |
bool | list_contain (int attr_index, int value) |
Test whether a value is possible for an specific attribute. More... | |
void | set_min_value_sequence (int min_value) |
Used in sequence search. To set the min_value for all sequences' element. More... | |
int | get_min_value_sequence () |
Get the min value for sequences' elements in this inv_table. More... | |
void | set_max_value_sequence (int max_value) |
Set the max value for all sequence. Compare to set_min_value_sequence() More... | |
int | get_max_value_sequence () |
Get the max value. More... | |
void | set_gram_length_sequence (int gram_length) |
Set length of each gram. More... | |
int | get_gram_length_sequence () |
Get the gram length. More... | |
template<class Archive > | |
void | load (Archive &ar, const unsigned int version) |
template<class Archive > | |
void | save (Archive &ar, const unsigned int version) const |
Protected Attributes | |
bool | m_isCompressed |
std::vector< uint32_t > | m_comprInv |
std::vector< int > | m_comprInvPos |
genie::compression::COMPRESSION_TYPE | m_compression |
uint32_t * | m_d_compr_inv_p |
size_t | m_uncompressedInvListsMaxLength |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
![]() | |
enum | status { not_builded, builded } |
This enum var defines two statuses for a inv_table object, which is either builded or not_builded. More... | |
![]() | |
int * | d_inv_p = NULL |
d_inv_p points to the start location for posting list array in GPU memory. More... | |
bool | is_stored_in_gpu |
is_stored_in_gpu tell whether inverted index structure is pre-stored inside gpu memory More... | |
int | shift_bits_sequence |
This variable is used to tell the number of bits shifted for recording gram in different position. More... | |
![]() | |
static int | max_inv_size = 0 |
Definition at line 27 of file inv_compr_table.h.
|
inline |
Default constructor of the inv_compr_table.
Definition at line 48 of file inv_compr_table.h.
|
virtual |
Definition at line 24 of file inv_compr_table.cu.
|
virtual |
Build the inv_table.
max_length | The maximum length of one segment in posting list array |
use_load_balance | The flag to determine whether to do load balance |
This method will merge all inv_lists to two vector _ck and _inv and set the _build_status to builded. Any query should only be done after the inv_table has been builded. If use_load_balance is true, the max_length will be used to divide posting list which is longer than max_length suggests. if use_load_balance is false, the max_length will be set to positive infinity before it is used
Reimplemented from genie::table::inv_table.
Definition at line 27 of file inv_compr_table.cu.
void genie::table::inv_compr_table::clear | ( | ) |
void genie::table::inv_compr_table::clear_gpu_mem | ( | ) |
clear the corresponding gpu memory referenced by d_inv_p
std::vector<uint32_t>* genie::table::inv_compr_table::compressedInv | ( | ) |
std::vector<int>* genie::table::inv_compr_table::compressedInvPos | ( | ) |
bool genie::table::inv_compr_table::cpy_data_to_gpu | ( | ) |
Copy vector _inv to gpu memory which is referenced by d_inv_p.
uint32_t* genie::table::inv_compr_table::deviceCompressedInv | ( | ) | const |
genie::compression::COMPRESSION_TYPE genie::table::inv_compr_table::getCompression | ( | ) | const |
double genie::table::inv_compr_table::getCompressionRatio | ( | ) |
Returns the compression ratio in bits per integer
size_t genie::table::inv_compr_table::getUncompressedPostingListMaxLength | ( | ) | const |
|
virtual |
Reimplemented from genie::table::inv_table.
Definition at line 25 of file inv_compr_table.cu.
|
virtual |
Reimplemented from genie::table::inv_table.
Definition at line 26 of file inv_compr_table.cu.
void genie::table::inv_compr_table::load | ( | Archive & | ar, |
const unsigned int | version | ||
) |
Definition at line 122 of file serialization.cc.
void genie::table::inv_compr_table::save | ( | Archive & | ar, |
const unsigned int | version | ||
) | const |
Definition at line 136 of file serialization.cc.
void genie::table::inv_compr_table::setCompression | ( | genie::compression::COMPRESSION_TYPE | compression | ) |
void genie::table::inv_compr_table::setUncompressedPostingListMaxLength | ( | size_t | length | ) |
std::vector<int>* genie::table::inv_compr_table::uncompressedInv | ( | ) |
std::vector<int>* genie::table::inv_compr_table::uncompressedInvPos | ( | ) |
|
friend |
Definition at line 164 of file inv_compr_table.h.
|
protected |
Definition at line 37 of file inv_compr_table.h.
|
protected |
Definition at line 33 of file inv_compr_table.h.
|
protected |
Definition at line 35 of file inv_compr_table.h.
|
protected |
Definition at line 39 of file inv_compr_table.h.
|
protected |
Definition at line 31 of file inv_compr_table.h.
|
protected |
Definition at line 41 of file inv_compr_table.h.