-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Forward-merge branch-24.06 into branch-24.08 #169
Merged
raydouglass
merged 12 commits into
rapidsai:branch-24.08
from
benfred:branch-24.08-merge-24.06
Jun 1, 2024
Merged
Forward-merge branch-24.06 into branch-24.08 #169
raydouglass
merged 12 commits into
rapidsai:branch-24.08
from
benfred:branch-24.08-merge-24.06
Jun 1, 2024
Conversation
This file contains 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
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
/ok to test |
cjnolet
approved these changes
May 31, 2024
AyodeAwe
approved these changes
May 31, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
CMake
cpp
improvement
Improves an existing functionality
non-breaking
Introduces a non-breaking change
Python
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.