Skip to content
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

2412 remove libraft vss instantiations #2498

Open
wants to merge 38 commits into
base: branch-24.12
Choose a base branch
from

Conversation

cjnolet
Copy link
Member

@cjnolet cjnolet commented Nov 15, 2024

We are keeping random ball cover headers in RAFT for 24.12, and random ball cover depends on distances and brute-force. Because of this, we're going to leave all of the VSS headers in RAFT for the time being, and will remove them all in a future PR once RBC is formally migrated to cuVS. The tests, benchmarks, and instantiations for all of these APIs will be removed, though, so while the actual headers can still be used, they are no longer being tested and could fail without warning.

I've also included a note to users in the README about this, stating to use at their own risk.

@cjnolet cjnolet added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Nov 15, 2024
@cjnolet cjnolet self-assigned this Nov 15, 2024
@cjnolet cjnolet requested review from a team as code owners November 15, 2024 17:44
@cjnolet cjnolet requested a review from bdice November 15, 2024 17:44
Copy link
Member

@benfred benfred left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

I'm excited to get these changes in - I'm imagining this will really improve the build times here

@cjnolet cjnolet requested a review from a team as a code owner November 15, 2024 18:55
@github-actions github-actions bot added the ci label Nov 15, 2024
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions github-actions bot removed the ci label Nov 16, 2024
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the effort here. I pushed a few small fixes, and have a few questions for follow up work:

  1. Do we want to delete cpp/template/cmake/thirdparty/get_raft.cmake? It is the only file left in cpp/template/*. If we do remove it, we also need to clean up a reference in ci/release/update-version.sh.
  2. Are we able to purge all remaining instances of RAFT_EXPLICIT_INSTANTIATE_ONLY? There are quite a few files still mentioning this, but I think all of these are deprecated and thus we should be able to remove RAFT_EXPLICIT_INSTANTIATE_ONLY? Also this section of the docs could be removed or greatly simplified, I think. https://github.com/rapidsai/raft/blob/branch-24.12/docs/source/developer_guide.md#header-organization-of-expensive-function-templates
  3. There are quite a few remaining references to #include <hnswlib/hnswlib.h> but we are no longer including the CMake code to find hnswlib. Is that a problem? Are these features usable (despite being unsupported) in the current state? I would not expect them to work anymore. It might make more sense to just purge all of this, because there's no use in keeping headers that aren't going to work with the current build system / missing dependencies.

@cjnolet
Copy link
Member Author

cjnolet commented Nov 16, 2024

  1. Looks like that file was brought back, likely as a result of a bad merge. We can remove it in a follow on.
  2. This is okay. We do still have some instantiations and the important headers are no longer using it.
  3. This is okay. I'm not removing the headers in this PR, so these will be left around. Users have been warned about this for some time, so they'll need to supply their own hnswlib if they still want to use those headers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake cpp improvement Improvement / enhancement to an existing function non-breaking Non-breaking change python
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants