Skip to content

Fix CMake discovery for wheel dependencies - #2565

Merged
rapids-bot[bot] merged 4 commits into
NVIDIA:release/26.10from
bdice:fix-wheel-cmake-prefix
Sep 10, 2026
Merged

Fix CMake discovery for wheel dependencies#2565
rapids-bot[bot] merged 4 commits into
NVIDIA:release/26.10from
bdice:fix-wheel-cmake-prefix

Conversation

@bdice

@bdice bdice commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Adds wheel prefix discovery and propagates KvikIO through the installed cuVS CMake target to fix cuML builds in NVIDIA/cuml#8573.

Part of rapidsai/build-planning#325.

@copy-pr-bot

copy-pr-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown

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.

@bdice bdice added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Sep 8, 2026
@bdice bdice changed the title Discover CMake packages installed by wheels Fix CMake discovery for wheel dependencies Sep 8, 2026
@bdice
bdice marked this pull request as ready for review September 8, 2026 22:57
@bdice
bdice requested a review from a team as a code owner September 8, 2026 22:57

@jameslamb jameslamb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These changes look like exactly what we want, thanks for fixing the kvikio linking and sorry I missed that in my review of #2257 .

I'm not in the cuvs-cmake-codeowners group, but approving anyway to show my support for this.

@jameslamb

Copy link
Copy Markdown
Member

One C++ test failed:

[  FAILED  ] AnnHNSWTest/AnnHNSW_I8.AnnHNSW/35, where GetParam() = dataset shape=2000x5, graph_degree=64, metric=distance::InnerProduct, ef=250

 1 FAILED TEST
CMake Error at run_gpu_test.cmake:26 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

(build link)

Restarted that for you in the hope that it's a flaky test.

@bdice

bdice commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@bdice

bdice commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

I got another flaky failure. Just keep rerunning, I guess.

[ RUN      ] ScaNN/f32_i64.build_host_input/12
/tmp/conda-bld-output/bld/rattler-build_libcuvs-headers/work/cpp/tests/neighbors/ann_scann/../ann_scann.cuh:267: Failure
Expected: (max_error) < (max_allowed_error * 1.5f), actual: 1.43224525 vs 1.425
Max reconstruction error too large: 1.4322452545166016

[  FAILED  ] ScaNN/f32_i64.build_host_input/12, where GetParam() = 80-byte object <00-10 00-00 06-00 00-00 00-00 00-00 00-00 00-40 20-00 00-00 00-00 00-00 00-10 00-00 00-00 00-00 18-00 00-00 00-00 80-3F 00-00 80-3F 02-00 00-00 08-00 00-00 00-00 00-00 00-10 00-00 00-00 00-00 0A-00 00-00 00-00 00-00 00-00 C0-7F 00-00 00-00> (56 ms)

@rapids-bot
rapids-bot Bot merged commit 86afe5f into NVIDIA:release/26.10 Sep 10, 2026
274 of 278 checks passed
rapids-bot Bot pushed a commit to rapidsai/cugraph that referenced this pull request Sep 11, 2026
As of NVIDIA/cuvs#2565 (I think), `libcuvs.so` requires `libkvikio.so` at runtime.

```shell
mkdir -p ./delete-me
pip download \
  -d ./delete-me \
  --no-deps \
  --index-url https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
  'libcuvs-cu13>=26.10.0a0'
cd ./delete-me
unzip ./libcuvs*.whl
```

```console
$ ldd libcuvs/lib64/libcuvs.so
        ...
        libkvikio.so => not found
        ...
```

`auditwheel repair` sees that dependency when it resolves `libcugraph.so`'s dependency on `libcuvs.so`, and so CI is failing here like this:

> ValueError: Cannot repair wheel, because required library "libkvikio.so" could not be located

([build link](https://github.com/rapidsai/cugraph/actions/runs/34483969788/job/102894257002))

This fixes that by excluding `libkvikio.so` from `auditwheel repair`. This is safe to do because `libcuvs-cu13` has a runtime dependency on `libkvikio-cu13` to provide that.

## Notes for Reviewers

A similar change was needed in `cuml`: NVIDIA/cuml#8604

Authors:
  - James Lamb (https://github.com/jameslamb)

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

URL: #5663
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants