NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
prefix_doubling_sufsort.h File Reference
#include <nvbio/sufsort/sufsort_priv.h>
#include <nvbio/strings/string_set.h>
#include <nvbio/basic/thrust_view.h>
#include <nvbio/basic/cuda/sort.h>
#include <nvbio/basic/cuda/ldg.h>
#include <thrust/device_vector.h>
#include <thrust/transform_scan.h>
#include <thrust/binary_search.h>
#include <thrust/iterator/constant_iterator.h>
#include <thrust/iterator/counting_iterator.h>
#include <mgpuhost.cuh>
#include <moderngpu.cuh>
#include <cub/cub.cuh>

Go to the source code of this file.

Classes

struct  nvbio::cuda::PrefixDoublingSufSort
 

Namespaces

 nvbio
 Define a vector_view POD type and plain_view() for std::vector.
 
 nvbio::cuda
 

Macros

#define VECTORIZED_PREFIX_DOUBLING
 
#define PREFIX_DOUBLING_VECTOR   4
 
#define CSS_KEY_PRUNING
 

Functions

__global__ void nvbio::cuda::prefix_doubling_kernel (const uint32 n_slots, const uint32 n_suffixes, const uint32 j, const uint32 *suffixes, const uint32 *inv_keys, uint32 *out_keys)
 
void nvbio::cuda::prefix_doubling (const uint32 n_slots, const uint32 n_suffixes, const uint32 j, const uint32 *suffixes, const uint32 *inv_keys, uint32 *out_keys)
 
template<uint32 BLOCKDIM>
__global__ void nvbio::cuda::build_head_flags_kernel (const uint32 n_flags, const uint32 *keys, uint8 *flags, uint32 *blocks)
 
template<uint32 BLOCKDIM>
__global__ void nvbio::cuda::extract_segments_kernel (const uint32 n_flags, const uint8 *flags, const uint32 *blocks, const uint32 *slots, uint32 *keys, uint32 *segments)
 
uint32 nvbio::cuda::extract_segments (const uint32 n_flags, const uint32 *in_keys, uint8 *flags, uint32 *blocks, const uint32 *slots, uint32 *keys, uint32 *segments)
 
__global__ void nvbio::cuda::compact_kernel (const uint32 n, const uint8 *stencil, const uint32 *keys, const uint8 *flags, const uint32 *slots, const uint32 *indices, uint8 *out_flags, uint32 *out_slots, uint32 *out_indices)
 
void nvbio::cuda::compact (const uint32 n, const uint8 *stencil, const uint32 *keys, const uint8 *flags, const uint32 *slots, const uint32 *indices, uint8 *out_flags, uint32 *out_slots, uint32 *out_indices)
 

Macro Definition Documentation

#define CSS_KEY_PRUNING
#define PREFIX_DOUBLING_VECTOR   4

Definition at line 139 of file prefix_doubling_sufsort.h.

#define VECTORIZED_PREFIX_DOUBLING

perform prefix-doubling on the selected suffixes

Definition at line 137 of file prefix_doubling_sufsort.h.