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

Merged

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
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.

@cjnolet
Copy link
Member Author

cjnolet commented Nov 18, 2024

/merge

@rapids-bot rapids-bot bot merged commit 1881b4f into rapidsai:branch-24.12 Nov 18, 2024
70 checks passed
@bdice
Copy link
Contributor

bdice commented Nov 18, 2024

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.

Looks like that file was brought back, likely as a result of a bad merge. We can remove it in a follow on.

I filed #2500 to address this.

benfred added a commit to benfred/cuvs that referenced this pull request Nov 18, 2024
With the changes in rapidsai/raft#2498 we no longer
have a pylibraft.neighbors module - but were still using a utility function
`_check_input_array` from it in cuvs. Move this over to cuvs to unblock ci
rapids-bot bot pushed a commit to rapidsai/cuvs that referenced this pull request Nov 18, 2024
With the changes in rapidsai/raft#2498 we no longer have a pylibraft.neighbors module - but were still using a utility function `_check_input_array` from it in cuvs. Move this over to cuvs to unblock ci

Authors:
  - Ben Frederickson (https://github.com/benfred)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: #474
rapids-bot bot pushed a commit that referenced this pull request Nov 19, 2024
Follow-up to #2498 (comment).

This removes an extraneous file in `cpp/template` that resulted from an incorrect merge conflict resolution and a leftover reference to the template project in `update-version.sh`.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #2500
rapids-bot bot pushed a commit that referenced this pull request Nov 27, 2024
Following #2498, we can apply this feedback from #2490: #2490 (comment)

These changes are inspired by rapidsai/cuvs#469.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #2509
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
Development

Successfully merging this pull request may close these issues.

3 participants