-
Notifications
You must be signed in to change notification settings - Fork 111
feat(libcuvs): port libcuvs to rattler-build #751
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
Conversation
Add source and fix nccl spec Add pre-build stage, remove static output, add tests and examples fix(libcuvs): handle most overlinking errors fix(libcuvs): install cuvs, c_api, and hnswlib components feat(libcuvs): remove defunct build scripts
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
/ok to test |
/ok to test |
This reverts commit b597650.
/ok to test |
/ok to test |
This reverts commit 2eb7ddd.
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.
A few comments but overall this is great. I'm really glad this rattler conversion is getting easier as we progress through more RAPIDS libraries.
This is ready for another look @bdice |
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.
All looks good to me!
then: | ||
- libaio | ||
- libboost-devel=1.87 | ||
- mkl-devel=2023 |
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.
For follow-up: Why is this pinned to mkl 2023? The latest is 2025.0.1. https://anaconda.org/conda-forge/mkl/files
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.
Couple notes for future work, but LGTM.
# Remove `-fdebug-prefix-map` line from CFLAGS and CXXFLAGS so the | ||
# incrementing version number in the compile line doesn't break the | ||
# cache | ||
set -x | ||
export CFLAGS=$(echo $CFLAGS | sed -E 's@\-fdebug\-prefix\-map[^ ]*@@g') | ||
export CXXFLAGS=$(echo $CXXFLAGS | sed -E 's@\-fdebug\-prefix\-map[^ ]*@@g') | ||
set +x |
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.
Suggestion: rapidsai/rapids-cmake#798 (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.
Future suggestion: rather than maintaining separate cuvs-bench and cuvs-bench-cpu recipes, we should parametrize the recipe. The two should be almost identical.
/merge |
Followups recorded in rapidsai/build-planning#47 (comment) |
This PR ports cuVS over to `rattler-build` for building conda packages. Some changes to the build process: * `cuvs-bench` was recompiling the entire library separately -- caching was hopefully helping with this but it was an unnecessary double-compile. Instead, I've added the `bench-ann` to the pre-build stage in `libcuvs` and create a `libcuvs-bench` output there, that `cuvs-bench` then depends on to provide the necessary shared objects. * Edited `build.sh` so that if `-n` is passed, the `cuvs-bench` Python package is not installed. * `libcuvs-static` seems to be a leftover from a previous incarnation -- the existing `libcuvs-static` packages on `rapidsai-nightly` consist only of build metadata files and are otherwise empty. I've removed the unused `--compile-static-lib` option from `build.sh` Authors: - Gil Forsyth (https://github.com/gforsyth) Approvers: - Bradley Dice (https://github.com/bdice) - Vyas Ramasubramani (https://github.com/vyasr) URL: rapidsai#751
This PR ports cuVS over to `rattler-build` for building conda packages. Some changes to the build process: * `cuvs-bench` was recompiling the entire library separately -- caching was hopefully helping with this but it was an unnecessary double-compile. Instead, I've added the `bench-ann` to the pre-build stage in `libcuvs` and create a `libcuvs-bench` output there, that `cuvs-bench` then depends on to provide the necessary shared objects. * Edited `build.sh` so that if `-n` is passed, the `cuvs-bench` Python package is not installed. * `libcuvs-static` seems to be a leftover from a previous incarnation -- the existing `libcuvs-static` packages on `rapidsai-nightly` consist only of build metadata files and are otherwise empty. I've removed the unused `--compile-static-lib` option from `build.sh` Authors: - Gil Forsyth (https://github.com/gforsyth) Approvers: - Bradley Dice (https://github.com/bdice) - Vyas Ramasubramani (https://github.com/vyasr) URL: rapidsai#751
This PR ports cuVS over to
rattler-build
for building conda packages.Some changes to the build process:
cuvs-bench
was recompiling the entire library separately -- caching was hopefully helping with this but it was an unnecessary double-compile. Instead, I've added thebench-ann
to the pre-build stage inlibcuvs
and create alibcuvs-bench
output there, thatcuvs-bench
then depends on to provide the necessary shared objects.Edited
build.sh
so that if-n
is passed, thecuvs-bench
Python package is not installed.libcuvs-static
seems to be a leftover from a previous incarnation -- the existinglibcuvs-static
packages onrapidsai-nightly
consist only of build metadata files and are otherwise empty. I've removed the unused--compile-static-lib
option frombuild.sh