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

Python API for CAGRA+HNSW #246

Merged
merged 26 commits into from
Oct 3, 2024

Conversation

divyegala
Copy link
Member

No description provided.

@divyegala divyegala added feature request New feature or request non-breaking Introduces a non-breaking change labels Jul 24, 2024
@divyegala divyegala self-assigned this Jul 24, 2024
@divyegala divyegala requested review from a team as code owners July 24, 2024 01:13
@divyegala divyegala changed the title Python API for CAGRA+HNSW Python and C API for CAGRA+HNSW Jul 24, 2024
@jameslamb
Copy link
Member

@divyegala I observed that same pip devcontainer build failure on an unrelated PR: #247 (comment)

So I suspect it's unrelated to your changes here.

@divyegala
Copy link
Member Author

@jameslamb I suspect it's related to this PR rapidsai/raft#2346

What I cannot figure out is why conda-cpp builds pass (new conda packages released?) but wheel builds fail. cuVS wheel builds pick up libraft wheel builds?

@vyasr
Copy link
Contributor

vyasr commented Jul 24, 2024

Maybe conda packages weren't out yet when the builds failed? Wheel builds will pull the source of raft to rebuild the static lib (unless you changed something in how cuvs wheels specifically are built, but I don't see any indication of that in the CMake).

Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

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

Looks good overall. Mostly a couple small documentation-related things to polish this off and then I think it's ready to merge.

@@ -416,6 +428,32 @@ cuvsError_t cuvsCagraSerialize(cuvsResources_t res,
cuvsCagraIndex_t index,
bool include_dataset);

/**
* Save the CAGRA index to file in hnswlib format.
Copy link
Member

Choose a reason for hiding this comment

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

Should we add a note here that this must be loaded by the (patched) hnswlib wrappers inside cuVS and it can't just be loaded with hnswlib?

python/cuvs/cuvs/neighbors/hnsw/hnsw.pyx Show resolved Hide resolved
@divyegala divyegala changed the title Python and C API for CAGRA+HNSW Python API for CAGRA+HNSW Sep 16, 2024
Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

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

The implementation is shaping up great. Mostly minor things, but important nonetheless.

cpp/include/cuvs/neighbors/hnsw.hpp Show resolved Hide resolved
python/cuvs/cuvs/neighbors/hnsw/hnsw.pyx Outdated Show resolved Hide resolved
python/cuvs/cuvs/neighbors/hnsw/hnsw.pyx Show resolved Hide resolved
@divyegala divyegala requested a review from a team as a code owner September 27, 2024 21:37
@cjnolet
Copy link
Member

cjnolet commented Oct 2, 2024

/merge

@rapids-bot rapids-bot bot merged commit 3c7f117 into rapidsai:branch-24.10 Oct 3, 2024
54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake cpp feature request New feature or request non-breaking Introduces a non-breaking change Python
Projects
Development

Successfully merging this pull request may close these issues.

4 participants