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

Detailed description

template< uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
struct nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >

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

Template Parameters
SYMBOL_SIZEthe size of the symbols, in bits
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 54 of file sufsort_bucketing.h.

#include <sufsort_bucketing.h>

Public Methods

 DeviceCoreSetSuffixBucketer (mgpu::ContextPtr _mgpu)
 
void clear_timers ()
 
template<typename string_set_type >
uint64 count (const string_set_type &string_set)
 
template<typename string_set_type , typename bucketmap_iterator >
uint32 collect (const string_set_type &string_set, const uint32 bucket_begin, const uint32 bucket_end, const uint32 string_offset, const bucketmap_iterator bucketmap)
 
uint64 allocated_device_memory () const
 
uint64 allocated_host_memory () const
 

Public Members

SetSuffixFlattener< SYMBOL_SIZE > suffixes
 
thrust::device_vector< uint32d_indices
 
thrust::device_vector
< bucket_type > 
d_radices
 
thrust::device_vector< uint32d_buckets
 
thrust::device_vector< uint2 > d_output
 
thrust::host_vector< bucket_type > h_radices
 
thrust::host_vector< uint2 > h_suffixes
 
uint32 n_collected
 
uint32 max_suffix_len
 
float d_setup_time
 
float d_flatten_time
 
float d_count_sort_time
 
float d_collect_sort_time
 
float d_filter_time
 
float d_remap_time
 
float d_max_time
 
float d_search_time
 
float d_copy_time
 
mgpu::ContextPtr m_mgpu
 

Constructor & Destructor Documentation

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::DeviceCoreSetSuffixBucketer ( mgpu::ContextPtr  _mgpu)
inline

constructor

Definition at line 58 of file sufsort_bucketing.h.

Member Function Documentation

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
uint64 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::allocated_device_memory ( ) const
inline

return the amount of used device memory

Definition at line 313 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
uint64 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::allocated_host_memory ( ) const
inline

return the amount of used device memory

Definition at line 325 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
void nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::clear_timers ( )
inline

clear internal timers

Definition at line 73 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
template<typename string_set_type , typename bucketmap_iterator >
uint32 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::collect ( const string_set_type &  string_set,
const uint32  bucket_begin,
const uint32  bucket_end,
const uint32  string_offset,
const bucketmap_iterator  bucketmap 
)
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 165 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
template<typename string_set_type >
uint64 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::count ( const string_set_type &  string_set)
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 91 of file sufsort_bucketing.h.

Member Data Documentation

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::device_vector<uint32> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_buckets

Definition at line 337 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_collect_sort_time

Definition at line 347 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_copy_time

Definition at line 352 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_count_sort_time

Definition at line 346 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_filter_time

Definition at line 348 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_flatten_time

Definition at line 345 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::device_vector<uint32> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_indices

Definition at line 335 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_max_time

Definition at line 350 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::device_vector<uint2> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_output

Definition at line 338 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::device_vector<bucket_type> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_radices

Definition at line 336 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_remap_time

Definition at line 349 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_search_time

Definition at line 351 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
float nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::d_setup_time

Definition at line 344 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::host_vector<bucket_type> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::h_radices

Definition at line 339 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
thrust::host_vector<uint2> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::h_suffixes

Definition at line 340 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
mgpu::ContextPtr nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::m_mgpu

Definition at line 353 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
uint32 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::max_suffix_len

Definition at line 342 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
uint32 nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::n_collected

Definition at line 341 of file sufsort_bucketing.h.

template<uint32 SYMBOL_SIZE, uint32 N_BITS, uint32 DOLLAR_BITS, typename bucket_type = uint32>
SetSuffixFlattener<SYMBOL_SIZE> nvbio::priv::DeviceCoreSetSuffixBucketer< SYMBOL_SIZE, N_BITS, DOLLAR_BITS, bucket_type >::suffixes

Definition at line 334 of file sufsort_bucketing.h.


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