cuSBF
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
filter_common.cuh File Reference
#include <cuda_runtime.h>
#include <cstdint>
#include <limits>
#include <utility>
#include <cusbf/config.cuh>

Go to the source code of this file.

Classes

struct  cusbf::detail::BitwiseOr< T >
 Device functor for bitwise OR reduction (CUB WarpReduce). More...
 
struct  cusbf::detail::SaltLiteral< 0 >
 
struct  cusbf::detail::SaltLiteral< 1 >
 
struct  cusbf::detail::SaltLiteral< 2 >
 
struct  cusbf::detail::SaltLiteral< 3 >
 
struct  cusbf::detail::SaltLiteral< 4 >
 
struct  cusbf::detail::SaltLiteral< 5 >
 
struct  cusbf::detail::SaltLiteral< 6 >
 
struct  cusbf::detail::SaltLiteral< 7 >
 
struct  cusbf::detail::SaltLiteral< 8 >
 
struct  cusbf::detail::SaltLiteral< 9 >
 
struct  cusbf::detail::SaltLiteral< 10 >
 
struct  cusbf::detail::SaltLiteral< 11 >
 
struct  cusbf::detail::SaltLiteral< 12 >
 
struct  cusbf::detail::SaltLiteral< 13 >
 
struct  cusbf::detail::SaltLiteral< 14 >
 
struct  cusbf::detail::SaltLiteral< 15 >
 

Namespaces

namespace  cusbf
 
namespace  cusbf::detail
 

Functions

template<uint64_t Index>
__host__ __device__ __forceinline__ constexpr uint64_t cusbf::detail::multiplicativeSaltLiteral ()
 Compile-time multiplicative salt for Bloom hash index Index.
 
template<typename Config , typename Fn , uint64_t... HashIndices>
__host__ __device__ __forceinline__ void cusbf::detail::forEachHashIndexImpl (Fn &&fn, std::index_sequence< HashIndices... >)
 Unrolled invocation of fn for each Bloom hash index in Config.
 
template<typename Config , typename Fn >
__host__ __device__ __forceinline__ void cusbf::detail::forEachHashIndex (Fn &&fn)
 Invokes fn once per Bloom hash index (compile-time unrolled).
 
template<typename Config , uint64_t Length>
__host__ __device__ __forceinline__ constexpr uint64_t cusbf::detail::packedWindowMask ()
 Bit mask retaining the low Length symbols of a packed k-mer.
 
template<typename Config , uint64_t WindowLength, uint64_t K>
__host__ __device__ __forceinline__ constexpr uint64_t cusbf::detail::extractPackedSubwindow (uint64_t packed_kmer, uint64_t start)
 Extracts an m-mer or s-mer subwindow from a packed k-mer at start.
 
__device__ __forceinline__ void cusbf::detail::atomicOrWord (uint64_t *ptr, uint64_t value)
 64-bit atomic OR used for sectorized Bloom inserts.
 

Variables

constexpr uint32_t cusbf::detail::kContainsSequenceStride = 4
 K-mers processed per query thread per inner loop iteration.
 
constexpr uint64_t cusbf::detail::kInvalidHash = std::numeric_limits<uint64_t>::max()
 Sentinel hash value indicating "no valid minimizer found".