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
factory class; now this logic can be replaced with a single switch-case block on search_algo.
search_params <- search_plan_impl_base <- search_plan_impl <- search is 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_t and its member type args_t is hard to read.
Past several major code updates since RAFT release (latest change #296) parts of CAGRA search code have become unnecessary complicated or obsolete.
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 algorithmsdataset_descriptor_base_tand its member typeargs_tis hard to read.