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/device_span.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, device_span< const filter_block< Config > > shards, device_span< 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, device_span< filter_block< Config > > 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 (SequenceKmerInput< Config > input, device_span< const filter_block< Config > > shards, device_span< 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 (SequenceKmerInput< Config > input, device_span< filter_block< Config > > shards)
 Insert kernel: sectorized Bloom updates grouped by minimizer shard.
 
template<typename Config >
__global__ void cusbf::detail::contains_dense_packed_kmers_kernel (DensePackedKmerInput< Config > input, device_span< const filter_block< Config > > shards, device_span< uint8_t > output)
 Query kernel for a dense packed symbol buffer (DensePackedKmerInput).
 
template<typename Config >
__global__ void cusbf::detail::insert_dense_packed_kmers_kernel (DensePackedKmerInput< Config > input, device_span< filter_block< Config > > shards)
 Insert kernel for a dense packed symbol buffer (DensePackedKmerInput).