NVBIO
|
A context class to perform suffix bucketing for all suffixes of a string-set
SYMBOL_SIZE | the size of the symbols, in bits |
BIG_ENDIAN | the endianness of the symbols in each word of the packed string set |
storage_type | the storage iterator type of the input packed string |
N_BITS | the number of bits used for bucketing |
DOLLAR_BITS | the number of bits used for encoding whether and where a dollar occurrs in the first N_BITS |
bucket_type | the word type used to encode buckets, i.e the first N_BITS of each suffix |
system_tag | the system tag identifying the memory-space where the input string-set resides in |
Definition at line 374 of file sufsort_bucketing.h.
#include <sufsort_bucketing.h>
Public Types | |
typedef priv::ChunkLoader < SYMBOL_SIZE, BIG_ENDIAN, storage_type, uint64 *, system_tag, device_tag > | chunk_loader_type |
typedef chunk_loader_type::chunk_set_type | chunk_set_type |
Public Methods | |
DeviceSetSuffixBucketer (mgpu::ContextPtr _mgpu) | |
void | clear_timers () |
template<typename string_set_type > | |
uint64 | count (const string_set_type &string_set, thrust::host_vector< uint32 > &h_buckets) |
template<typename string_set_type > | |
uint64 | collect (const string_set_type &string_set, const uint32 bucket_begin, const uint32 bucket_end, uint32 &max_suffix_len, const thrust::host_vector< uint32 > &h_subbuckets, thrust::host_vector< uint2 > &h_suffixes) |
uint64 | allocated_device_memory () const |
uint64 | allocated_host_memory () const |
void | log_count_stats () |
void | log_collect_stats () |
Public Members | |
DeviceCoreSetSuffixBucketer < SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type > | m_bucketer |
thrust::device_vector< uint32 > | d_buckets |
thrust::device_vector< uint32 > | d_subbuckets |
thrust::host_vector< uint64 > | h_bucket_offsets |
uint64 | m_global_offset |
float | load_time |
float | count_time |
float | merge_time |
float | collect_time |
float | bin_time |
typedef priv::ChunkLoader<SYMBOL_SIZE,BIG_ENDIAN,storage_type,uint64*,system_tag,device_tag> nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::chunk_loader_type |
Definition at line 376 of file sufsort_bucketing.h.
typedef chunk_loader_type::chunk_set_type nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::chunk_set_type |
Definition at line 377 of file sufsort_bucketing.h.
|
inline |
constructor
Definition at line 381 of file sufsort_bucketing.h.
|
inline |
return the amount of used device memory
Definition at line 571 of file sufsort_bucketing.h.
|
inline |
return the amount of used device memory
Definition at line 575 of file sufsort_bucketing.h.
|
inline |
clear internal timers
Definition at line 385 of file sufsort_bucketing.h.
|
inline |
collect the suffixes falling in a given set of buckets, where the buckets are defined by the first n_bits of the suffix
Definition at line 480 of file sufsort_bucketing.h.
|
inline |
count the number of suffixes falling in each bucket, where the buckets are defined by the first n_bits of the suffix
Definition at line 399 of file sufsort_bucketing.h.
|
inline |
print some stats
Definition at line 595 of file sufsort_bucketing.h.
|
inline |
print some stats
Definition at line 579 of file sufsort_bucketing.h.
float nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::bin_time |
Definition at line 623 of file sufsort_bucketing.h.
float nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::collect_time |
Definition at line 622 of file sufsort_bucketing.h.
float nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::count_time |
Definition at line 619 of file sufsort_bucketing.h.
thrust::device_vector<uint32> nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::d_buckets |
Definition at line 613 of file sufsort_bucketing.h.
thrust::device_vector<uint32> nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::d_subbuckets |
Definition at line 614 of file sufsort_bucketing.h.
thrust::host_vector<uint64> nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::h_bucket_offsets |
Definition at line 615 of file sufsort_bucketing.h.
float nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::load_time |
Definition at line 618 of file sufsort_bucketing.h.
DeviceCoreSetSuffixBucketer<SYMBOL_SIZE,N_BITS,DOLLAR_BITS,bucket_type> nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::m_bucketer |
Definition at line 612 of file sufsort_bucketing.h.
uint64 nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::m_global_offset |
Definition at line 616 of file sufsort_bucketing.h.
float nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::merge_time |
Definition at line 620 of file sufsort_bucketing.h.