Forward-merge branch-24.06 into branch-24.08#169
Merged
raydouglass merged 12 commits intorapidsai:branch-24.08from Jun 1, 2024
Merged
Forward-merge branch-24.06 into branch-24.08#169raydouglass merged 12 commits intorapidsai:branch-24.08from
raydouglass merged 12 commits intorapidsai:branch-24.08from
Conversation
This PR fixes launching the devcontainers in GitHub Codespaces:  Authors: - Paul Taylor (https://github.com/trxcllnt) Approvers: - Bradley Dice (https://github.com/bdice) URL: rapidsai#153
Add `cuvs::neighbors::refine` to public API, with it's test Authors: - Micka (https://github.com/lowener) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Tamas Bela Feher (https://github.com/tfeher) - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#154
This PR enables host input arrays for `ivf_pq::build` and `ivf_pq::extend`. closes rapidsai#120 closes rapidsai#143 Authors: - Tamas Bela Feher (https://github.com/tfeher) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#148
- The PR is one part of prefiltered brute force and should work with the PR of raft: rapidsai/raft#2294 Authors: - rhdong (https://github.com/rhdong) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#146
efficively -> effectively Authors: - Ikko Eltociear Ashimine (https://github.com/eltociear) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#162
Since we're now using raft in header only mode, we don't have the compiled select_k instantiations in raft available to us anymore. Instead instantiate inside cuvs so we don't recompile in multiple spots. Authors: - Ben Frederickson (https://github.com/benfred) Approvers: - Tamas Bela Feher (https://github.com/tfeher) - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#159
## What SSIA Authors: - Shunya Ueta (https://github.com/hurutoriya) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Corey J. Nolet (https://github.com/cjnolet) - Jake Awe (https://github.com/AyodeAwe) URL: rapidsai#92
Authors: - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Ben Frederickson (https://github.com/benfred) URL: rapidsai#161
Authors: - Ben Frederickson (https://github.com/benfred) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#164
This PR updates the CAGRA public API, changes defaults, and improves refinement during IVF-PQ build step. Updated defaults: - By default CAGRA would select NN descent. We fall back to IVF-PQ build algorithm if there is not enough memory for NN descent. - For the IVF-PQ build algo, the search params were updated to use `n_probe = 0.01*nlist`, and both LUT and internal distance type is set to `fp16` (as opposed to `fp8/fp32` previously) - By default build would create the index that contains both the `graph` and the `dataset` on GPU. If the `dataset` does not fit gpu, then the returned index will only contain the graph (on device). In such case the user is expected to call `index.update_dataset()` (for example with dataset in managed memory) before we can `search` the index. API changes: - We can specify IVF-PQ build algo parameters the following way: ```c++ cagra::index_params params; params.graph_degree = 32; params.intermediate_graph_degree = 48; auto pq_params = cagra::graph_build_algo::ivf_pq_params(dataset.extents()); // This sets reasonable defaults, but can be updated by the user, e.g.: pq_params.pq_dim = 32; // Select IVF-PQ algorithm by passing ivf_pq_params as graph_build_algo params.graph_build_algo = pq_params; ``` - We can specify NN descent algo parameters a similar way ```c++ cagra::index_params params; params.graph_degree = 32; params.intermediate_graph_degree = 48; // Select NN descent algo by passing nn_descent_params params.graph_build_algo = cagra::graph_build_params::nn_descent_params(intermediate_degree) ; ``` Additionally, this PR optimizes the IVF-PQ refinement step within the CAGRA graph creation in case the dataset is in host-memory. * depending on hardware, a certain amount of refinement comes for free * the change also has a positive effect without refinement as the graph creation is done on host either way Authors: - Malte Förster (https://github.com/mfoerste4) - Tamas Bela Feher (https://github.com/tfeher) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Corey J. Nolet (https://github.com/cjnolet) - Tamas Bela Feher (https://github.com/tfeher) URL: rapidsai#131
Fixes handling OOM error during CAGRA index creation, that was introduced in rapidsai#131. Authors: - Tamas Bela Feher (https://github.com/tfeher) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#167
Contributor
Author
|
/ok to test |
cjnolet
approved these changes
May 31, 2024
AyodeAwe
approved these changes
May 31, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.