|
cuDDL
|
Non-owning implementation view of a DDL sketch. More...
Public Types | |
| using | register_type = uint32_t |
| using | layout_type = Layout |
Public Member Functions | |
| __host__ __device__ constexpr | sketch_view (device_span< register_type > registers, cuda::std::optional< blacklist_view > blacklist=cuda::std::nullopt) noexcept |
Constructs a reference over registers. | |
| __host__ __device__ constexpr device_span< register_type > | data () const noexcept |
| Device registers. | |
| Result< void > | clear_async (cuda::stream_ref stream) const noexcept |
| Resets every register to zero. | |
| Result< void > | add_async (device_span< uint64_t const > input, cuda::stream_ref stream) const noexcept |
| Accumulates packed device k-mers into the existing sketch without clearing it. | |
| Result< void > | add_sequence_async (device_span< char const > sequence, cuda::stream_ref stream) const noexcept |
| Accumulates device-resident raw ASCII bases without clearing. | |
| template<bool IncludeCardinality = false> | |
| Result< void > | summary_async (sketch_view other, pairwise_summary &output, cuda::stream_ref stream) const noexcept |
| Computes the raw pairwise summary into caller-owned device storage. | |
| Result< void > | cardinality_async (uint64_t *empty_out, double *estimate_out, cuda::stream_ref stream) const noexcept |
| Computes this sketch's cardinality reduction on the GPU. | |
| Result< void > | hybrid_cardinality_async (hybrid_cardinality_estimates *output, cuda::stream_ref stream) const noexcept |
| Computes BBTools and paper-style HybridDDL estimates in one GPU register scan. | |
Static Public Member Functions | |
| static constexpr size_t | bucket_count () noexcept |
| Number of registers in the sketch. | |
| static constexpr uint32_t | kmer_length () noexcept |
| Compile-time k-mer length. | |
Non-owning implementation view of a DDL sketch.
Provides allocation-free, stream-ordered operations on an external allocation of BucketCount uint32_t registers, each holding its bucket's winning score. Pass by value into device or host code.
Definition at line 25 of file sketch_view.cuh.
| using cuddl::detail::sketch_view< K, BucketCount, Layout >::layout_type = Layout |
Definition at line 32 of file sketch_view.cuh.
| using cuddl::detail::sketch_view< K, BucketCount, Layout >::register_type = uint32_t |
Definition at line 31 of file sketch_view.cuh.
|
inlineexplicitconstexprnoexcept |
Constructs a reference over registers.
Definition at line 35 of file sketch_view.cuh.
|
inlinenoexcept |
Accumulates packed device k-mers into the existing sketch without clearing it.
The input must remain valid until stream completes.
Definition at line 67 of file sketch_view.cuh.
|
inlinenoexcept |
Accumulates device-resident raw ASCII bases without clearing.
Expects raw contiguous ASCII (no FASTA/newline stripping). Canonicalises case-insensitively with the packed path; ambiguity breaks windows and emits no k-mer across it. Accumulates without reset; short input below K is a no-op. Windows per call are capped at UINT32_MAX, so size must not exceed UINT32_MAX + K - 1. No hidden carry: callers supply the K-1 overlap within one record and no overlap between distinct records. No host copies. The input must remain valid until stream completes.
Definition at line 82 of file sketch_view.cuh.
|
inlinestaticconstexprnoexcept |
Number of registers in the sketch.
Definition at line 47 of file sketch_view.cuh.
|
inlinenoexcept |
Computes this sketch's cardinality reduction on the GPU.
empty_out receives the empty-register count and estimate_out the cardinality estimate.
Definition at line 107 of file sketch_view.cuh.
|
inlinenoexcept |
Resets every register to zero.
Definition at line 57 of file sketch_view.cuh.
|
inlineconstexprnoexcept |
|
inlinenoexcept |
Computes BBTools and paper-style HybridDDL estimates in one GPU register scan.
Definition at line 119 of file sketch_view.cuh.
|
inlinestaticconstexprnoexcept |
|
inlinenoexcept |
Computes the raw pairwise summary into caller-owned device storage.
output must point at device memory valid until stream completes.
Definition at line 92 of file sketch_view.cuh.