|
cuDDL
|
Non-owning, trivially copyable view of one selected reference-row backing. More...
Public Types | |
| using | score_type = uint16_t |
| using | layout_type = Layout |
| using | result_type = reference_search_result |
| using | batch_result_type = packed_pairwise_counts |
Public Member Functions | |
| __host__ __device__ constexpr | reference_database_view (device_span< uint32_t const > planes, reference_database_metadata metadata, device_span< uint32_t const > index_offsets={}, device_span< uint32_t const > index_postings={}, bool indexed=false, device_span< uint16_t const > index_keys={}, device_span< uint32_t const > key_directory={}, double index_pair_fraction=0.0, device_span< uint32_t const > bitmap_cells={}, device_span< uint32_t const > posting_bitmaps={}, reference_delta_view deltas={}) noexcept |
| __host__ __device__ constexpr device_span< uint32_t const > | planes () const noexcept |
| Reference bit-plane rows (detail::score_plane_index layout), in reference-ID order. | |
| constexpr reference_database_metadata | metadata () const noexcept |
| Compatibility metadata and reference count. | |
| constexpr uint32_t | reference_count () const noexcept |
| Reference count. | |
| constexpr bool | has_index () const noexcept |
| True when an index backs this view. | |
| constexpr size_t | persistent_row_bytes () const noexcept |
| Bytes this view's own row store needs. | |
| constexpr size_t | persistent_index_bytes () const noexcept |
| Bytes this view's index needs for offsets, postings, and keys. | |
| constexpr size_t | single_query_workspace_bytes () const noexcept |
| Caller-owned bytes for one exhaustive query on this view. | |
| constexpr uint32_t | single_query_result_count () const noexcept |
| Results one exhaustive query writes: one per reference. | |
| Result< size_t > | indexed_single_query_workspace_bytes (cuda::stream_ref stream) const |
| Caller-owned bytes required by one positive-threshold indexed query. | |
| Result< cuddl::batch_search_requirements > | batch_search_requirements (uint32_t query_count, cuda::stream_ref stream) const |
Storage reused while exhaustively searching query_count compact rows. | |
| Result< cuddl::batch_search_requirements > | indexed_batch_search_requirements (uint32_t query_count, cuda::stream_ref stream) const |
Storage reused while searching query_count compact rows through the index. | |
| Result< cuddl::batch_search_requirements > | all_to_all_search_requirements () const |
| Storage reused while exhaustively searching every unique database-row pair. | |
| Result< cuddl::batch_search_requirements > | indexed_all_to_all_search_requirements () const |
| Storage for every unique database-row pair through the index, or with a threshold but no index; it also covers the exhaustive all-to-all search. | |
| Result< void > | search_async (device_span< score_type const > query, score_compatibility const &query_compatibility, device_span< uint8_t > workspace, device_span< result_type > results, cuda::stream_ref stream) const |
Compares one compact query row with every reference row on stream. | |
| Result< void > | search_indexed_async (device_span< score_type const > query, score_compatibility const &query_compatibility, device_span< uint8_t > workspace, device_span< result_type > results, device_span< uint32_t > result_count, search_options options, cuda::stream_ref stream) const |
Finds and exactly refines references meeting options on stream. | |
| template<typename OnTile > | |
| Result< void > | search_batch_async (device_span< score_type const > queries, score_compatibility const &query_compatibility, uint32_t query_id_offset, device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, cuda::stream_ref stream) const |
| Exhaustively searches compact queries using bounded reusable storage. | |
| template<typename OnTile > | |
| Result< void > | search_batch_indexed_async (device_span< score_type const > queries, score_compatibility const &query_compatibility, uint32_t query_id_offset, device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, search_options options, cuda::stream_ref stream) const |
| Indexed search for compact queries using bounded reusable storage. | |
| template<typename OnTile > | |
| Result< void > | search_all_to_all_async (device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, cuda::stream_ref stream, all_to_all_shard shard={}) const |
| Exhaustively searches every unique database-row pair using bounded storage. | |
| template<typename OnTile > | |
| Result< void > | search_all_to_all_async (device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, cuda::stream_ref stream, all_to_all_tile_queue &tiles) const |
Exhaustive all-to-all search of the tiles claimed from tiles, which other searches, for example on other devices' replicas, may claim from concurrently. | |
| template<typename OnTile > | |
| Result< void > | search_all_to_all_indexed_async (device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, search_options options, cuda::stream_ref stream, all_to_all_shard shard={}) const |
| Indexed search of every unique database-row pair using bounded storage. | |
| template<typename OnTile > | |
| Result< void > | search_all_to_all_indexed_async (device_span< uint8_t > workspace, device_span< batch_result_type > results, OnTile &&on_tile, device_span< uint32_t > result_match_counts, search_options options, cuda::stream_ref stream, all_to_all_tile_queue &tiles) const |
Indexed all-to-all search of the tiles claimed from tiles, which other searches may claim from concurrently. | |
Static Public Member Functions | |
| static constexpr size_t | persistent_row_bytes (uint32_t reference_count) noexcept |
Bytes one compact row store needs for reference_count references. | |
| static constexpr size_t | single_query_workspace_bytes (uint32_t reference_count) noexcept |
| Caller-owned bytes for one exhaustive query: the query's bit-planes. | |
| static constexpr uint32_t | single_query_result_count (uint32_t reference_count) noexcept |
| static constexpr uint32_t | all_to_all_result_capacity (uint32_t reference_count) noexcept |
Non-owning, trivially copyable view of one selected reference-row backing.
Inputs, database rows, workspace, and results must remain valid until the supplied stream completes.
Definition at line 1129 of file reference_database.cuh.
| using cuddl::detail::reference_database_view< K, BucketCount, Layout >::batch_result_type = packed_pairwise_counts |
Definition at line 1138 of file reference_database.cuh.
| using cuddl::detail::reference_database_view< K, BucketCount, Layout >::layout_type = Layout |
Definition at line 1136 of file reference_database.cuh.
| using cuddl::detail::reference_database_view< K, BucketCount, Layout >::result_type = reference_search_result |
Definition at line 1137 of file reference_database.cuh.
| using cuddl::detail::reference_database_view< K, BucketCount, Layout >::score_type = uint16_t |
Definition at line 1135 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Definition at line 1140 of file reference_database.cuh.
|
inlinestaticconstexprnoexcept |
Definition at line 1300 of file reference_database.cuh.
|
inline |
Storage reused while exhaustively searching every unique database-row pair.
Definition at line 1290 of file reference_database.cuh.
|
inline |
Storage reused while exhaustively searching query_count compact rows.
Definition at line 1270 of file reference_database.cuh.
|
inlineconstexprnoexcept |
True when an index backs this view.
Definition at line 1182 of file reference_database.cuh.
|
inline |
Storage for every unique database-row pair through the index, or with a threshold but no index; it also covers the exhaustive all-to-all search.
Definition at line 1316 of file reference_database.cuh.
|
inline |
Storage reused while searching query_count compact rows through the index.
Definition at line 1280 of file reference_database.cuh.
|
inline |
Caller-owned bytes required by one positive-threshold indexed query.
Definition at line 1226 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Compatibility metadata and reference count.
Definition at line 1172 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Bytes this view's index needs for offsets, postings, and keys.
Definition at line 1197 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Bytes this view's own row store needs.
Definition at line 1192 of file reference_database.cuh.
|
inlinestaticconstexprnoexcept |
Bytes one compact row store needs for reference_count references.
Definition at line 1187 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Reference bit-plane rows (detail::score_plane_index layout), in reference-ID order.
Definition at line 1167 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Reference count.
Definition at line 1177 of file reference_database.cuh.
|
inline |
Exhaustively searches every unique database-row pair using bounded storage.
on_tile receives each tile's batch_result_tile. Before returning, it must consume the tile synchronously or enqueue dependent work on stream because the supplied storage is reused by the next tile. shard restricts the search to one part of the pairs.
Definition at line 1670 of file reference_database.cuh.
|
inline |
Exhaustive all-to-all search of the tiles claimed from tiles, which other searches, for example on other devices' replicas, may claim from concurrently.
Definition at line 1687 of file reference_database.cuh.
|
inline |
Indexed search of every unique database-row pair using bounded storage.
on_tile receives each tile's batch_result_tile, holding exactly the pairs with at least options.minimum_matches index matches. Before returning, it must consume the tile synchronously or enqueue dependent work on stream because the supplied storage is reused by the next tile. shard restricts the search to one part of the pairs.
Definition at line 1741 of file reference_database.cuh.
|
inline |
Indexed all-to-all search of the tiles claimed from tiles, which other searches may claim from concurrently.
Definition at line 1765 of file reference_database.cuh.
|
inline |
Compares one compact query row with every reference row on stream.
Definition at line 1330 of file reference_database.cuh.
|
inline |
Exhaustively searches compact queries using bounded reusable storage.
on_tile receives each tile's batch_result_tile. Before returning, it must consume the tile synchronously or enqueue dependent work on stream because the supplied storage is reused by the next tile.
Definition at line 1563 of file reference_database.cuh.
|
inline |
Indexed search for compact queries using bounded reusable storage.
on_tile receives each tile's batch_result_tile, holding exactly the pairs with at least options.minimum_matches index matches. Before returning, it must consume the tile synchronously or enqueue dependent work on stream because the supplied storage is reused by the next tile.
Definition at line 1623 of file reference_database.cuh.
|
inline |
Finds and exactly refines references meeting options on stream.
Definition at line 1384 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Results one exhaustive query writes: one per reference.
Definition at line 1221 of file reference_database.cuh.
|
inlinestaticconstexprnoexcept |
Definition at line 1214 of file reference_database.cuh.
|
inlineconstexprnoexcept |
Caller-owned bytes for one exhaustive query on this view.
Definition at line 1210 of file reference_database.cuh.
|
inlinestaticconstexprnoexcept |
Caller-owned bytes for one exhaustive query: the query's bit-planes.
Definition at line 1203 of file reference_database.cuh.