Add CAGRA build heuristics independent of HNSW parameters#2345
Add CAGRA build heuristics independent of HNSW parameters#2345achirkin wants to merge 5 commits into
Conversation
tfeher
left a comment
There was a problem hiding this comment.
Thanks Artem, it makes sense to separate the dataset shape dependent CAGRA heuristics to general CAGRA heuristic and HNSW specific ones. The PR looks good to me, apart from two small docstring issues.
cjnolet
left a comment
There was a problem hiding this comment.
This is a relatively small PR in comparison to the dataset changes (that we absolutely need merged for this release).
If we keep merging (lower priority) changes that depend on the current dataset APIs, we aren't going to be able to merge the datasets api changes in time for the release.
Let's at least wait until @HowardHuang1's PR is merged for this one. Given how close it is to the release, I'd almost suggest we proactively push this to 26.10.
|
@cjnolet I understand, this PR surely can wait. |
|
Thanks @achirkin. I see now, this is expecting the shape information individually, instead of through an mdspan/dataset. @imotov if not too much trouble, can you merge this in your heuristic PR and work from that? I agree with Artem here that the change seems not too terrible on the Java side. Will help us streamline a bit more. |
Switches to build against NVIDIA/cuvs#2345
Split the
cagra::index_params::from_hnsw_paramsinto a corecagra::index_params::from_datasetand a thin wrapper ``cagra::index_params::from_hnsw_params`. This solves two problems:The new parameter defaults are selected to yield exactly the same configurations at old call sites of
from_hnsw_params