cuSBF
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
cusbf::detail::DensePackedKmerInput< Config > Struct Template Reference

Device-side view of a dense packed symbol sequence. More...

Collaboration diagram for cusbf::detail::DensePackedKmerInput< Config >:
[legend]

Public Member Functions

constexpr __host__ __device__ uint64_t kmerCount () const
 Number of k-mer windows in this sequence.
 

Public Attributes

device_span< const uint64_twords {}
 Dense packed words (device memory).
 
uint64_t num_symbols {}
 Number of valid encoded symbols represented in words.
 

Detailed Description

template<typename Config>
struct cusbf::detail::DensePackedKmerInput< Config >

Device-side view of a dense packed symbol sequence.

Layout: word w holds symbols [S*w, S*w + S - 1] where S = dense_packed_symbols_per_word. Symbol i occupies bits [symbolBits*(i % S), symbolBits*(i % S) + symbolBits - 1] of word i/S (LSB = earlier symbol). Values use Config::Alphabet encoding masked with Config::symbolMask. Trailing bits in the final word beyond symbolBits*num_symbols are ignored.

Adjacent k-mers overlap in the same words; kernels decode a per-block symbol tile and slide packed k-mers like the byte SequenceKmerInput path.

Definition at line 44 of file dense_packed.cuh.

Member Function Documentation

◆ kmerCount()

template<typename Config >
constexpr __host__ __device__ uint64_t cusbf::detail::DensePackedKmerInput< Config >::kmerCount ( ) const
inlineconstexpr

Number of k-mer windows in this sequence.

Definition at line 51 of file dense_packed.cuh.

51 {
53 }
consteval bool separatorPositionAlwaysEncodesInvalid(char *input, uint64_t separatorPosition, uint64_t index)
Recursively tests whether placing the separator byte at any position in an input of valid bytes alway...
Definition Alphabet.cuh:37
uint64_t num_symbols
Number of valid encoded symbols represented in words.
Here is the call graph for this function:

Member Data Documentation

◆ num_symbols

Number of valid encoded symbols represented in words.

Definition at line 48 of file dense_packed.cuh.

48{};

◆ words

Dense packed words (device memory).

Definition at line 46 of file dense_packed.cuh.

46{};

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