-
Notifications
You must be signed in to change notification settings - Fork 194
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
base: branch-24.12
Are you sure you want to change the base?
2412 remove libraft vss instantiations #2498
Conversation
There was a problem hiding this 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
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
There was a problem hiding this 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:
- Do we want to delete
cpp/template/cmake/thirdparty/get_raft.cmake
? It is the only file left incpp/template/*
. If we do remove it, we also need to clean up a reference inci/release/update-version.sh
. - 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 removeRAFT_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 - 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.
|
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.