ANN_BENCH: common AnnBase::index_type #2315
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replace the
size_t
type in theAnnBase::search
for the output neighbor indices with a commonAnnBase::index_type
.This PR stops short of changing the behavior of the benchmarks, since it keeps
using index_type = size_t
.The introduction of the new type has couple benefits:
index_type
more clear in the code, distinguishing it from the extents type, which is usuallysize_t
as well.uint32_t
during development and experiments. This is needed to avoid calling extralinalg::map
on the produced results when the algorithm output is not compatible withsize_t
.As a small extra change, I've factored out common IVF-PQ - CAGRA-Q refinement code into a separate
refine_helper
function.