NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Public Members | List of all members
nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type > Struct Template Reference

Detailed description

template< uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type>
struct nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >

A context class to perform suffix bucketing for all suffixes of a string-set on the host

Template Parameters
SYMBOL_SIZEthe size of the symbols, in bits
BIG_ENDIANthe endianness of the symbols in each word of the packed string set
storage_typethe storage iterator type of the input packed string
N_BITSthe number of bits used for bucketing
DOLLAR_BITSthe number of bits used for encoding whether and where a dollar occurrs in the first N_BITS
bucket_typethe word type used to encode buckets, i.e the first N_BITS of each suffix

Definition at line 797 of file sufsort_bucketing.h.

#include <sufsort_bucketing.h>

Public Types

typedef priv::ChunkLoader
< SYMBOL_SIZE, BIG_ENDIAN,
storage_type, uint64
*, host_tag, host_tag
chunk_loader_type
 
typedef
chunk_loader_type::chunk_set_type 
chunk_set_type
 

Public Methods

 HostSetSuffixBucketer (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

std::vector
< HostCoreSetSuffixBucketer
< SYMBOL_SIZE, N_BITS,
DOLLAR_BITS, bucket_type > > 
m_bucketers
 
uint64 m_global_offset
 
thrust::host_vector< uint64h_bucket_offsets
 
float count_time
 
float merge_time
 
float collect_time
 
float bin_time
 

Member Typedef Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
typedef priv::ChunkLoader<SYMBOL_SIZE,BIG_ENDIAN,storage_type,uint64*,host_tag,host_tag> nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::chunk_loader_type

Definition at line 799 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
typedef chunk_loader_type::chunk_set_type nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::chunk_set_type

Definition at line 800 of file sufsort_bucketing.h.

Constructor & Destructor Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::HostSetSuffixBucketer ( mgpu::ContextPtr  _mgpu)
inline

constructor

Definition at line 804 of file sufsort_bucketing.h.

Member Function Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
uint64 nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::allocated_device_memory ( ) const
inline

return the amount of used device memory

Definition at line 1015 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
uint64 nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::allocated_host_memory ( ) const
inline

return the amount of used device memory

Definition at line 1019 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
void nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::clear_timers ( )
inline

clear internal timers

Definition at line 811 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
template<typename string_set_type >
uint64 nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::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 
)
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 909 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
template<typename string_set_type >
uint64 nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::count ( const string_set_type &  string_set,
thrust::host_vector< uint32 > &  h_buckets 
)
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 822 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
void nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::log_collect_stats ( )
inline

print some stats

Definition at line 1038 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
void nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::log_count_stats ( )
inline

print some stats

Definition at line 1029 of file sufsort_bucketing.h.

Member Data Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
float nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::bin_time

Definition at line 1053 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
float nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::collect_time

Definition at line 1052 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
float nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::count_time

Definition at line 1049 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
thrust::host_vector<uint64> nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::h_bucket_offsets

Definition at line 1047 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
std::vector< HostCoreSetSuffixBucketer<SYMBOL_SIZE,N_BITS,DOLLAR_BITS,bucket_type> > nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::m_bucketers

Definition at line 1045 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
uint64 nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::m_global_offset

Definition at line 1046 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type >
float nvbio::priv::HostSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type >::merge_time

Definition at line 1050 of file sufsort_bucketing.h.


The documentation for this struct was generated from the following file: