Simplify CAGRA search call hierarchy
Open
@achirkin is already working on this.
Since Sep 24, 2024.
improvement
- Dominant language
- Cuda
- Stars
- 854
- Forks
- 236
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 62
Description
Past several major code updates since RAFT release (latest change #296) parts of CAGRA search code have become unnecessary complicated or obsolete.
- neighbors/detail/cagra/factory.cuh once served the instance parameter selection logic (including the non-type template parameters) via the
factoryclass; now this logic can be replaced with a single switch-case block on search_algo. search_params <- search_plan_impl_base <- search_plan_impl <- searchis overly complicated for a plain task of choosing between the search algorithms- dataset_descriptor_base_t and related types (implementation types and the descriptor host) names are confusing
- The way the polymorphic behavior is implemented in
dataset_descriptor_base_tand its member typeargs_tis hard to read.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.