cuSBF
Loading...
Searching...
No Matches
Namespaces | Functions
kernels.cuh File Reference
#include <cuda/__cmath/ceil_div.h>
#include <cuda_runtime.h>
#include <cub/warp/warp_reduce.cuh>
#include <cstdint>
#include <cusbf/config.cuh>
#include <cusbf/detail/dense_packed.cuh>
#include <cusbf/detail/filter_common.cuh>
#include <cusbf/detail/filter_impl.cuh>
#include <cusbf/detail/sequence_kmer.cuh>
#include <cusbf/filter_ref.cuh>

Go to the source code of this file.

Namespaces

namespace  cusbf
 
namespace  cusbf::detail
 

Functions

template<typename Config >
constexpr uint64_t cusbf::detail::dense_packed_insert_word_tile_capacity ()
 Maximum uint64_t words loaded for a dense-packed insert block tile.
 
template<typename Config >
constexpr uint64_t cusbf::detail::dense_packed_query_word_tile_capacity ()
 Maximum uint64_t words loaded for a dense-packed query block tile.
 
template<typename Config , uint32_t k_stride>
__device__ __forceinline__ void cusbf::detail::contains_kmers_from_symbol_tile (const uint8_t *sequence_tile, uint64_t block_start_kmer, uint64_t block_kmers, bool block_all_valid, const filter_block< Config > *shards, uint64_t num_shards, uint8_t *output)
 Shared query path after a block symbol tile has been prepared.
 
template<typename Config , uint32_t warps_per_block>
__device__ __forceinline__ void cusbf::detail::insert_kmers_from_symbol_tile (const uint8_t *sequence_tile, uint64_t block_start_kmer, uint64_t block_kmers, bool block_all_valid, filter_block< Config > *shards, uint64_t num_shards, cub::WarpReduce< uint64_t >::TempStorage reduce_storage[warps_per_block][4])
 Shared insert path after a block symbol tile has been prepared.
 
template<typename Config >
__global__ void cusbf::detail::contains_sequence_kmers_kernel (const char *sequence, uint64_t num_kmers, const filter_block< Config > *shards, uint64_t num_shards, uint8_t *output)
 Query kernel: one byte per k-mer (1 = present, 0 = absent or invalid).
 
template<typename Config >
__global__ void cusbf::detail::insert_sequence_kmers_kernel (const char *sequence, uint64_t num_kmers, filter_block< Config > *shards, uint64_t num_shards)
 Insert kernel: sectorized Bloom updates grouped by minimizer shard.
 
template<typename Config >
__global__ void cusbf::detail::contains_dense_packed_kmers_kernel (const uint64_t *words, uint64_t num_kmers, const filter_block< Config > *shards, uint64_t num_shards, uint8_t *output)
 Query kernel for a dense packed symbol buffer (DensePackedKmerInput).
 
template<typename Config >
__global__ void cusbf::detail::insert_dense_packed_kmers_kernel (const uint64_t *words, uint64_t num_kmers, filter_block< Config > *shards, uint64_t num_shards)
 Insert kernel for a dense packed symbol buffer (DensePackedKmerInput).