-
Notifications
You must be signed in to change notification settings - Fork 143
HNSW CPU Hierarchy #465
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
HNSW CPU Hierarchy #465
Conversation
|
Does this need to be added to the Conda recipes as well? |
|
@jakirkham no actually we don't want to use the hnswlib conda package because their python distribution messes up with our python version requirements. I will be removing it from our conda dev environments as well. We'll rely on CMake instead to get us hnswlib. There's no double compilation issue anyway since it's a header-only library. |
|
Oh ok. Had not looked into the nuances of this package or our usage of it Indeed if we don't use the Python package, we should drop it There doesn't appear to be a header-only C++ package currently. So just fetching it from source seems like the thing to do Are the headers just used in the build to produce a library? Or are we shipping their headers too? If the latter, we may want to look at siloing it somehow to avoid clobbering or affecting other installs a user may have |
|
@jakirkham we don't need to ship the headers, they are self-contained within the libcuvs shared object. |
| list(APPEND CUVS_CXX_FLAGS -Wall -Werror -Wno-unknown-pragmas -Wno-error=deprecated-declarations | ||
| -Wno-reorder | ||
| ) | ||
| list(APPEND CUVS_CUDA_FLAGS | ||
| -Xcompiler=-Wall,-Werror,-Wno-error=deprecated-declarations,-Wno-reorder | ||
| ) |
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.
no-reorder was added because of hnswlib v0.7.0. It is weird because the order warning that the compiler complained about in hnswlib was not actually out of order.
bdice
left a comment
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.
Approving build/packaging changes. (I also skimmed the C++ and Python and nothing seemed noteworthy.)
|
/merge |
This PR adds an option to build the full HNSW hierarchy on the CPU when converting a CAGRA index to an hnswlib index. This lets us enable an
extend()API.For hnswlib:
v0.7.0