NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
nvbio::bowtie2::cuda Namespace Reference

Namespaces

 detail
 

Classes

struct  Aligner
 
struct  SortingKeys
 
struct  difference_transform
 
struct  MapqFunctorSE
 
struct  MapqFunctorPE
 
struct  ComputeThreadSE
 
struct  ComputeThreadPE
 
struct  edit_distance_scoring_tag
 
struct  smith_waterman_scoring_tag
 
struct  DebugState
 
struct  packed_read
 
struct  packed_seed
 
struct  pack_read
 
struct  FMIndexDef
 
struct  SimpleFunc
 
struct  InputThreadSE
 
struct  InputThreadPE
 
struct  BaseScoringPipelineState
 
struct  BestApproxScoringPipelineState
 
struct  BowtieMapq3
 
struct  BowtieMapq2
 
struct  ParamsPOD
 
struct  Params
 
struct  AllMappingPipelineState
 
struct  TracebackPipelineState
 
struct  ReadsDef
 
struct  ReduceBestApproxContext
 
struct  ReduceBestExactContext
 
struct  RoundedQualCost
 
struct  QualCost
 
struct  ConstantCost
 
struct  EditDistanceScoringScheme
 
struct  SmithWatermanScoringScheme
 
struct  make_aligner_dispatch
 
struct  make_aligner_dispatch< LocalAlignment, scheme_type >
 
struct  make_aligner_dispatch< EndToEndAlignment, scheme_type >
 
struct  UberScoringScheme
 
struct  ScoringSchemeSelector
 
struct  ScoringSchemeSelector< edit_distance_scoring_tag >
 
struct  ScoringSchemeSelector< smith_waterman_scoring_tag >
 
struct  ScoringSchemeTag
 
struct  ScoringSchemeTag< EditDistanceScoringScheme >
 
struct  ScoringSchemeTag< SmithWatermanScoringScheme< MMCost, NCost > >
 
struct  HitReference
 
struct  ReadHitReference
 
struct  ReadHitBinder
 
struct  ReadHitsIndex
 
struct  ReadHitsIndexDeviceView
 
struct  HitQueues
 
struct  HitQueuesDeviceView
 
struct  ScoringQueues
 
struct  ScoringQueuesDeviceView
 
struct  ReadHitsReference
 
struct  ReadHitsBinder
 
struct  SeedHit
 
struct  hit_compare
 
struct  SeedHitDequeReference
 
struct  SeedHitDequeArrayDeviceStorage
 
struct  SeedHitDequeArrayHostStorage
 
struct  SeedHitDequeArray
 
struct  SeedHitDequeArrayDeviceView
 
struct  SelectBestApproxContext
 
struct  AlignmentStats
 
struct  Stats
 
struct  StreamAdapterBase
 
struct  StreamAdapterBase< Iterator, uint32 >
 
struct  StreamAdapterBase< Iterator, uint4 >
 
struct  StreamAdapter
 

Typedefs

typedef nvbio::TimeSeries KernelStats
 
typedef nvbio::FakeTimer DeviceTimer
 

Enumerations

enum  EndType { kSingleEnd = 0u, kPairedEnds = 1u }
 
enum  { AVG_READ_LENGTH = 175 }
 
enum  { BLOCKDIM = 96 }
 
enum  { SCORE_MATE_BLOCKDIM = 128 }
 
enum  { MAX_BAND_LEN = 63 }
 
enum  { MAXIMUM_READ_LENGTH = 512 }
 
enum  { MAXIMUM_INSERT_LENGTH = 1024 }
 
enum  { MAXIMUM_BAND_LENGTH = 31 }
 
enum  { MAXIMUM_BAND_LEN_MULT = 4 }
 
enum  { BANDED_DP_CHECKPOINTS = 16 }
 
enum  { FULL_DP_CHECKPOINTS = 64 }
 
enum  { LMEM_CACHE_WORDS = 64 }
 
enum  {
  HIT_STATS_RANGES = 0, HIT_STATS_MAX_RANGE = 1, HIT_STATS_TOTAL = 2, HIT_STATS_MAX = 3,
  HIT_STATS_TOP = 4, HIT_STATS_TOP_MAX = 5, HIT_STATS_BINS = 6, HIT_STATS_TOP_BINS = 6 + 32
}
 
enum  MappingMode { BestMappingApprox = 0, BestMappingExact = 1, AllMapping = 2 }
 
enum  ScoringMode { EditDistanceMode = 0, SmithWatermanMode = 1 }
 
enum  AlignmentType { EndToEndAlignment = 0, LocalAlignment = 1 }
 
enum  CostType { ROUNDED_QUAL_COST = 1, QUAL_COST = 2, CONSTANT_COST = 3 }
 
enum  MateType { AnchorMate = 0, OppositeMate = 1 }
 

Functions

void hits_stats (const uint32 batch_size, const SeedHit *hit_data, const uint32 *hit_counts, uint64 *hit_stats)
 
void ring_buffer_to_plain_array (const uint32 *buffer, const uint32 buffer_size, const uint32 begin, const uint32 end, uint32 *output)
 
void mark_unaligned (const uint32 n_active_reads, const uint32 *active_reads, const io::Alignment *best_data, uint8 *reseed)
 
void mark_discordant (const uint32 n_reads, io::Alignment *anchor_data, io::Alignment *opposite_data, const uint32 stride)
 
void all_ed (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
void all_sw (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
void best_approx_ed (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
void best_approx_sw (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
void best_approx_ed (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data1, io::SequenceDataDevice &read_data2, io::HostOutputBatchPE &cpu_batch, Stats &stats)
 
void best_approx_sw (Aligner &aligner, const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, io::SequenceDataDevice &read_data1, io::SequenceDataDevice &read_data2, io::HostOutputBatchPE &cpu_batch, Stats &stats)
 
template<typename Iterator >
uint64 device_checksum (Iterator begin, Iterator end)
 
void hits_checksum (const uint32 n_reads, SeedHitDequeArray &hit_deques, uint64 &crc, uint64 &sum)
 
template<typename BatchType , typename FMType , typename rFMType >
void locate (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename BatchType , typename FMType , typename rFMType >
void locate_init (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename BatchType , typename FMType , typename rFMType >
void locate_lookup (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename ScoringScheme >
void locate_init (const BaseScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params)
 
template<typename ScoringScheme >
void locate_lookup (const BaseScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params)
 
template<typename index_iterator , typename flags_iterator >
void mark_straddling (const uint32 in_count, const uint32 *idx_queue, const uint32 reference_count, const index_iterator reference_index, HitQueuesDeviceView hits, flags_iterator flags, const ParamsPOD params)
 
void gather_ranges (const uint32 count, const uint32 n_reads, SeedHitDequeArrayDeviceView hits, const uint32 *hit_counts_scan, uint64 *out_ranges)
 
void map_whole_read (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void map_exact (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void map_exact (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
void map_approx (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void map_approx (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
void map (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_whole_read_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_exact_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_exact_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_case_pruning_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_approx_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_approx_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void map_t (const BatchType &read_batch, const FMType fmi, const rFMType rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
std::map< std::string,
std::string > 
load_options (const char *name)
 
bool is_number (const char *str, uint32 len=uint32(-1))
 
SimpleFunc parse_function (const char *str, const SimpleFunc def)
 
template<typename options_type >
SimpleFunc func_option (const options_type &options, const char *name, const SimpleFunc func)
 
template<typename options_type >
SimpleFunc func_option (const options_type &options, const char *name1, const char *name2, const SimpleFunc func)
 
void parse_options (Params &params, const std::map< std::string, std::string > &options, bool init)
 
const char * mapping_mode (const uint32 mode)
 
uint32 mapping_mode (const char *str)
 
const char * scoring_mode (const uint32 mode)
 
uint32 scoring_mode (const char *str)
 
void persist_clear (const std::string &file_name)
 
void persist_hits (const std::string &file_name, const char *name, const uint32 anchor, const uint32 count, const SeedHitDequeArray &hit_deques)
 
void persist_reads (const std::string &file_name, const char *name, const uint32 anchor, const uint32 count, const thrust::device_vector< uint32 >::iterator iterator)
 
void persist_selection (const std::string &file_name, const char *name, const uint32 anchor, const uint32 read_count, const packed_read *read_infos_dptr, const uint32 n_multi, const uint32 hits_queue_size, const ReadHitsIndex &hits_index, const HitQueues &hits_queue)
 
void persist_scores (const std::string &file_name, const char *name, const uint32 anchor, const uint32 read_count, const uint32 n_multi, const uint32 hits_queue_size, const ScoringQueues &scoring_queues)
 
void score_reduce (const ReduceBestApproxContext context, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void score_reduce (const ReduceBestApproxContext context, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
void score_reduce_paired (const ReduceBestApproxContext context, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void score_reduce_paired (const ReduceBestApproxContext context, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
template<typename ScoringScheme , typename ReduceContext >
void score_reduce_t (const ReduceContext context, const BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params)
 
template<typename ScoringScheme , typename ReduceContext >
void score_reduce_paired_t (const ReduceContext context, const BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params)
 
void score_best (const uint32 band_len, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void score_best (const uint32 band_len, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
uint32 score_all (const uint32 band_len, const AllMappingPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params, const uint32 buffer_offset, const uint32 buffer_size)
 
uint32 score_all (const uint32 band_len, const AllMappingPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params, const uint32 buffer_offset, const uint32 buffer_size)
 
void anchor_score_best (const uint32 band_len, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void anchor_score_best (const uint32 band_len, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
void opposite_score_best (const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void opposite_score_best (const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
template<typename scheme_type >
uint32 score_all_t (const uint32 band_len, const AllMappingPipelineState< scheme_type > &pipeline, const ParamsPOD params, const uint32 buffer_offset, const uint32 buffer_size)
 
template<typename scheme_type >
void score_best_t (const uint32 band_len, const BestApproxScoringPipelineState< scheme_type > &pipeline, const ParamsPOD params)
 
template<typename scheme_type >
void opposite_score_best_t (const BestApproxScoringPipelineState< scheme_type > &pipeline, const ParamsPOD params)
 
template<typename scheme_type >
void anchor_score_best_t (const uint32 band_len, const BestApproxScoringPipelineState< scheme_type > &pipeline, const ParamsPOD params)
 
template<AlignmentType TYPE, typename scheme_type >
make_aligner_dispatch< TYPE,
scheme_type >::type 
make_aligner (const scheme_type &scheme)
 
SmithWatermanScoringScheme load_scoring_scheme (const char *name, const AlignmentType type)
 
void select_init (const uint32 count, const char *read_names, const uint32 *read_names_idx, const SeedHitDequeArrayDeviceView hits, uint32 *trys, uint32 *rseeds, const ParamsPOD params)
 
void select_init (BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void select_init (BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
__global__ void select_n_from_top_range_kernel (const uint32 begin, const uint32 count, const uint32 n_reads, const SeedHit *hit_data, const uint32 *hit_range_scan, uint32 *loc_queue, uint32 *seed_queue, uint32 *read_info)
 
void select (const SelectBestApproxContext context, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD params)
 
void select (const SelectBestApproxContext context, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD params)
 
void select_all (const uint64 begin, const uint32 count, const uint32 n_reads, const uint32 n_hit_ranges, const uint64 n_hits, const SeedHitDequeArrayDeviceView hits, const uint32 *hit_count_scan, const uint64 *hit_range_scan, HitQueuesDeviceView scoring_queues)
 
template<typename ScoringScheme >
void select_init_t (BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD &params)
 
template<typename BatchType , typename ContextType >
void select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
void rand_select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
void select_multi (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
void select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params)
 
template<typename ScoringScheme , typename ContextType >
void select_t (const ContextType context, const BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
__global__ void select_kernel (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params)
 
template<typename ProbTree >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
randomized_select (ProbTree &prob_tree, SeedHit *hits_data, uint32 *rseeds, const uint32 read_id)
 
template<typename BatchType , typename ContextType >
__global__ void rand_select_kernel (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
__global__ void select_multi_kernel (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
__global__ void rand_select_multi_kernel (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params)
 
template<typename BatchType , typename ContextType >
void rand_select_multi (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params)
 
void generate_kernel_table (const uint32 id, const char *report, const KernelStats &stats)
 
void generate_report_header (const uint32 n_reads, const Params &params, AlignmentStats &aln_stats, const uint32 n_devices, const Stats *device_stats, const char *report)
 
void generate_device_report (const uint32 id, Stats &stats, AlignmentStats &aln_stats, const char *report)
 
template<typename T >
void find_gt2 (const uint32 n, const T *table, uint32 best_bin[2])
 
void banded_traceback_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void banded_traceback_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
void opposite_traceback_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const TracebackPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void opposite_traceback_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const TracebackPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
void banded_traceback_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const AllMappingPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD &params)
 
void banded_traceback_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const AllMappingPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD &params)
 
void finish_alignment_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< EditDistanceScoringScheme > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
void finish_alignment_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< SmithWatermanScoringScheme<> > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
void finish_opposite_alignment_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< EditDistanceScoringScheme > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
void finish_opposite_alignment_best (const uint32 aln_idx, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const TracebackPipelineState< SmithWatermanScoringScheme<> > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
void finish_alignment_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const AllMappingPipelineState< EditDistanceScoringScheme > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
void finish_alignment_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const AllMappingPipelineState< SmithWatermanScoringScheme<> > &pipeline, const SmithWatermanScoringScheme<> scoring_scheme, const ParamsPOD &params)
 
template<typename vector_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
read_cigar_length (const vector_type cigar, const uint32 cigar_len)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE const char * 
mate_string (const MateType mate)
 
template<uint32 ALN_IDX, typename pipeline_type >
void banded_traceback_best_t (const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const pipeline_type &pipeline, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename pipeline_type >
void opposite_traceback_best_t (const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const pipeline_type &pipeline, const ParamsPOD params)
 
template<typename pipeline_type >
void banded_traceback_all_t (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const pipeline_type &pipeline, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename scoring_scheme_type , typename pipeline_type >
void finish_alignment_best_t (const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const pipeline_type &pipeline, const scoring_scheme_type scoring_scheme, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename scoring_scheme_type , typename pipeline_type >
void finish_opposite_alignment_best_t (const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const pipeline_type &pipeline, const scoring_scheme_type scoring_scheme, const ParamsPOD params)
 
template<typename scoring_scheme_type , typename pipeline_type >
void finish_alignment_all_t (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const pipeline_type &pipeline, const scoring_scheme_type scoring_scheme, const ParamsPOD params)
 
void optional_device_synchronize ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint2 
inclusive_to_exclusive (const uint2 range)
 
void test_seed_hit_deques ()
 
void test_scoring_queues ()
 

Typedef Documentation

Definition at line 48 of file utils.h.

Definition at line 42 of file stats.h.

Function Documentation

void nvbio::bowtie2::cuda::all_ed ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data,
io::HostOutputBatchSE &  cpu_batch,
Stats &  stats 
)
void nvbio::bowtie2::cuda::all_sw ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data,
io::HostOutputBatchSE &  cpu_batch,
Stats &  stats 
)
void nvbio::bowtie2::cuda::best_approx_ed ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data,
io::HostOutputBatchSE &  cpu_batch,
Stats &  stats 
)
void nvbio::bowtie2::cuda::best_approx_ed ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data1,
io::SequenceDataDevice &  read_data2,
io::HostOutputBatchPE &  cpu_batch,
Stats &  stats 
)
void nvbio::bowtie2::cuda::best_approx_sw ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data,
io::HostOutputBatchSE &  cpu_batch,
Stats &  stats 
)
void nvbio::bowtie2::cuda::best_approx_sw ( Aligner &  aligner,
const Params &  params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme &  scoring_scheme,
const io::SequenceDataDevice &  reference_data,
const io::FMIndexDataDevice &  driver_data,
io::SequenceDataDevice &  read_data1,
io::SequenceDataDevice &  read_data2,
io::HostOutputBatchPE &  cpu_batch,
Stats &  stats 
)
template<typename Iterator >
uint64 nvbio::bowtie2::cuda::device_checksum ( Iterator  begin,
Iterator  end 
)

Definition at line 46 of file checksums.h.

template<typename T >
void nvbio::bowtie2::cuda::find_gt2 ( const uint32  n,
const T *  table,
uint32  best_bin[2] 
)

Definition at line 1099 of file stats.cpp.

template<typename options_type >
SimpleFunc nvbio::bowtie2::cuda::func_option ( const options_type &  options,
const char *  name,
const SimpleFunc  func 
)

Definition at line 93 of file params.cpp.

template<typename options_type >
SimpleFunc nvbio::bowtie2::cuda::func_option ( const options_type &  options,
const char *  name1,
const char *  name2,
const SimpleFunc  func 
)

Definition at line 101 of file params.cpp.

void nvbio::bowtie2::cuda::generate_device_report ( const uint32  id,
Stats &  stats,
AlignmentStats &  aln_stats,
const char *  report 
)

Definition at line 671 of file stats.cpp.

void nvbio::bowtie2::cuda::generate_kernel_table ( const uint32  id,
const char *  report,
const KernelStats &  stats 
)

Definition at line 1120 of file stats.cpp.

void nvbio::bowtie2::cuda::generate_report_header ( const uint32  n_reads,
const Params &  params,
AlignmentStats &  aln_stats,
const uint32  n_devices,
const Stats *  device_stats,
const char *  report 
)

Definition at line 376 of file stats.cpp.

void nvbio::bowtie2::cuda::hits_checksum ( const uint32  n_reads,
SeedHitDequeArray &  hit_deques,
uint64 &  crc,
uint64 &  sum 
)
void nvbio::bowtie2::cuda::hits_stats ( const uint32  batch_size,
const SeedHit *  hit_data,
const uint32 *  hit_counts,
uint64 *  hit_stats 
)
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint2 nvbio::bowtie2::cuda::inclusive_to_exclusive ( const uint2  range)

Definition at line 53 of file utils.h.

bool nvbio::bowtie2::cuda::is_number ( const char *  str,
uint32  len = uint32(-1) 
)

Definition at line 36 of file params.cpp.

void nvbio::bowtie2::cuda::mark_discordant ( const uint32  n_reads,
io::Alignment *  anchor_data,
io::Alignment *  opposite_data,
const uint32  stride 
)
void nvbio::bowtie2::cuda::mark_unaligned ( const uint32  n_active_reads,
const uint32 *  active_reads,
const io::Alignment *  best_data,
uint8 *  reseed 
)
void nvbio::bowtie2::cuda::optional_device_synchronize ( )
inline

Definition at line 38 of file utils.h.

SimpleFunc nvbio::bowtie2::cuda::parse_function ( const char *  str,
const SimpleFunc  def 
)

Definition at line 52 of file params.cpp.

void nvbio::bowtie2::cuda::persist_clear ( const std::string &  file_name)
void nvbio::bowtie2::cuda::persist_hits ( const std::string &  file_name,
const char *  name,
const uint32  anchor,
const uint32  count,
const SeedHitDequeArray &  hit_deques 
)
void nvbio::bowtie2::cuda::persist_reads ( const std::string &  file_name,
const char *  name,
const uint32  anchor,
const uint32  count,
const thrust::device_vector< uint32 >::iterator  iterator 
)
void nvbio::bowtie2::cuda::persist_scores ( const std::string &  file_name,
const char *  name,
const uint32  anchor,
const uint32  read_count,
const uint32  n_multi,
const uint32  hits_queue_size,
const ScoringQueues &  scoring_queues 
)
void nvbio::bowtie2::cuda::persist_selection ( const std::string &  file_name,
const char *  name,
const uint32  anchor,
const uint32  read_count,
const packed_read *  read_infos_dptr,
const uint32  n_multi,
const uint32  hits_queue_size,
const ReadHitsIndex &  hits_index,
const HitQueues &  hits_queue 
)
template<typename BatchType , typename ContextType >
void nvbio::bowtie2::cuda::rand_select_multi ( const BatchType  read_batch,
SeedHitDequeArrayDeviceView  hits,
uint32 *  rseeds,
const ContextType  context,
ScoringQueuesDeviceView  scoring_queues,
const uint32  n_multi,
const ParamsPOD  params 
)

Definition at line 702 of file select_inl.h.

void nvbio::bowtie2::cuda::ring_buffer_to_plain_array ( const uint32 *  buffer,
const uint32  buffer_size,
const uint32  begin,
const uint32  end,
uint32 *  output 
)
void nvbio::bowtie2::cuda::test_scoring_queues ( )
void nvbio::bowtie2::cuda::test_seed_hit_deques ( )