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::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag > Struct Template Reference

Detailed description

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

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

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
system_tagthe 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< uint32d_buckets
 
thrust::device_vector< uint32d_subbuckets
 
thrust::host_vector< uint64h_bucket_offsets
 
uint64 m_global_offset
 
float load_time
 
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 , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

Constructor & Destructor Documentation

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

constructor

Definition at line 381 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 , typename system_tag >
uint64 nvbio::priv::DeviceSetSuffixBucketer< SYMBOL_SIZE, BIG_ENDIAN, storage_type, N_BITS, DOLLAR_BITS, bucket_type, system_tag >::allocated_device_memory ( ) const
inline

return the amount of used device memory

Definition at line 571 of file sufsort_bucketing.h.

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

return the amount of used device memory

Definition at line 575 of file sufsort_bucketing.h.

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

clear internal timers

Definition at line 385 of file sufsort_bucketing.h.

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

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

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

print some stats

Definition at line 595 of file sufsort_bucketing.h.

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

print some stats

Definition at line 579 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 , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type , typename system_tag >
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.


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