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::aln::ScoreStream< stream_type > Struct Template Reference

Detailed description

template< typename stream_type>
struct nvbio::aln::ScoreStream< stream_type >

A work-stream class to be used with a WorkQueue. This class implements the context to fetch and run parallel alignment jobs.

In particular, it provides utilities for accessing all the temporary alignment storage bound to a given queue slot, which is represented by vectors with a strided memory layout in order to favor read/write coalescing.

Template Parameters
stream_typethe underlying BatchedAlignmentScore stream_type (see Batch Alignments and BatchedAlignmentScore).

Definition at line 54 of file batched_stream.h.

#include <batched_stream.h>

Public Types

typedef stream_type::aligner_type aligner_type
 the aligner type More...
 
typedef
checkpoint_storage_type
< aligner_type >::type 
cell_type
 the DP cell type More...
 
typedef strided_iterator
< cell_type * > 
checkpoint_type
 the strided DP checkpoint type More...
 
typedef strided_iterator
< cell_type * > 
column_type
 the strided DP column type More...
 

Public Methods

 ScoreStream (const stream_type _stream, uint8 *_columns, uint8 *_checkpoints, const uint32 _stride)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
size () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
checkpoint_type 
checkpoint (const uint32 i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE column_type 
column (const uint32 i) const
 
template<typename score_unit_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
get (const uint32 job_id, score_unit_type *unit, const uint2 queue_slot) const
 

Public Members

stream_type stream
 alignment stream More...
 
cell_typecolumns
 temporary columns storage More...
 
cell_typecheckpoints
 temporary checkpoints storage More...
 
uint32 stride
 memory stride More...
 

Member Typedef Documentation

template<typename stream_type>
typedef stream_type::aligner_type nvbio::aln::ScoreStream< stream_type >::aligner_type

the aligner type

Definition at line 56 of file batched_stream.h.

template<typename stream_type>
typedef checkpoint_storage_type<aligner_type>::type nvbio::aln::ScoreStream< stream_type >::cell_type

the DP cell type

Definition at line 57 of file batched_stream.h.

template<typename stream_type>
typedef strided_iterator<cell_type*> nvbio::aln::ScoreStream< stream_type >::checkpoint_type

the strided DP checkpoint type

Definition at line 58 of file batched_stream.h.

template<typename stream_type>
typedef strided_iterator<cell_type*> nvbio::aln::ScoreStream< stream_type >::column_type

the strided DP column type

Definition at line 59 of file batched_stream.h.

Constructor & Destructor Documentation

template<typename stream_type>
nvbio::aln::ScoreStream< stream_type >::ScoreStream ( const stream_type  _stream,
uint8 _columns,
uint8 _checkpoints,
const uint32  _stride 
)
inline

constructor

Definition at line 63 of file batched_stream.h.

Member Function Documentation

template<typename stream_type>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE checkpoint_type nvbio::aln::ScoreStream< stream_type >::checkpoint ( const uint32  i) const
inline

return the i-th checkpoint

Definition at line 78 of file batched_stream.h.

template<typename stream_type>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE column_type nvbio::aln::ScoreStream< stream_type >::column ( const uint32  i) const
inline

return the i-th checkpoint

Definition at line 86 of file batched_stream.h.

template<typename stream_type>
template<typename score_unit_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::ScoreStream< stream_type >::get ( const uint32  job_id,
score_unit_type *  unit,
const uint2  queue_slot 
) const
inline

get the i-th work unit

Definition at line 95 of file batched_stream.h.

template<typename stream_type>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::aln::ScoreStream< stream_type >::size ( void  ) const
inline

stream size

Definition at line 73 of file batched_stream.h.

Member Data Documentation

template<typename stream_type>
cell_type* nvbio::aln::ScoreStream< stream_type >::checkpoints

temporary checkpoints storage

Definition at line 103 of file batched_stream.h.

template<typename stream_type>
cell_type* nvbio::aln::ScoreStream< stream_type >::columns

temporary columns storage

Definition at line 102 of file batched_stream.h.

template<typename stream_type>
stream_type nvbio::aln::ScoreStream< stream_type >::stream

alignment stream

Definition at line 101 of file batched_stream.h.

template<typename stream_type>
uint32 nvbio::aln::ScoreStream< stream_type >::stride

memory stride

Definition at line 104 of file batched_stream.h.


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