Skip to content

[WIP] Retire CagraIndexParamsFactory to use CuVS's internal heuristicAPI, Add ParamsBase for common parameters#156

Draft
narangvivek10 wants to merge 5 commits into
NVIDIA:mainfrom
SearchScale:vivek/use-int-heuristic-api-and-unify-params-api
Draft

[WIP] Retire CagraIndexParamsFactory to use CuVS's internal heuristicAPI, Add ParamsBase for common parameters#156
narangvivek10 wants to merge 5 commits into
NVIDIA:mainfrom
SearchScale:vivek/use-int-heuristic-api-and-unify-params-api

Conversation

@narangvivek10

Copy link
Copy Markdown
Collaborator

Code changes to:

  • Retire CagraIndexParamsFactory to use CuVS's internal heuristic API as planned before. Now with Strategy.HEURISTIC as the default recommended strategy, we will be able to tune indexes with the standard beam width and max connection parameters, and the CAGRA's parameters, like graph degree, intermediate graph degree, are automatically estimated internally. This is now applicable for both - Index on GPU and search on CPU, and index and search on the GPU APIs.
  • Add ParamsBase class for bringing common input parameters in one base class for code deduplication in AcceleratedHNSWParams and GPUSearchParams.
  • Fix the issue with using odd CAGRA graphDegree values internally.

Fixes #149
Fixes #127

@narangvivek10 narangvivek10 self-assigned this May 28, 2026
@narangvivek10 narangvivek10 added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels May 28, 2026
@copy-pr-bot

copy-pr-bot Bot commented May 28, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

1 participant