Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c0ce522
enforce a floor on libnvjitlink, test wheels against older CTKs
jameslamb Mar 2, 2026
881568a
remove files left over from merge conflict resolution
jameslamb Mar 2, 2026
058ba03
resolve conflicts
jameslamb Mar 2, 2026
830f014
Merge branch 'main' into nvjitlink-floor
jameslamb Mar 2, 2026
517b310
shellcheck
jameslamb Mar 2, 2026
22eff2b
Merge branch 'nvjitlink-floor' of github.com:jameslamb/cuvs into nvji…
jameslamb Mar 2, 2026
a8c23d9
merge changes
jameslamb Mar 5, 2026
2cd016c
Merge branch 'main' into nvjitlink-floor
jameslamb Mar 5, 2026
10de5bc
update GitHub Actions
jameslamb Mar 5, 2026
f9aba62
more updates
jameslamb Mar 5, 2026
056576b
standardize dependencies.yaml
jameslamb Mar 5, 2026
f380354
need ucxx for raft
jameslamb Mar 5, 2026
8d27afa
fix conda pins, use_wheels_from_prs.sh
jameslamb Mar 5, 2026
b8b6cc4
Merge branch 'main' into nvjitlink-floor
jameslamb Mar 5, 2026
64577b2
all CUDA 12
jameslamb Mar 6, 2026
4eda42c
Merge branch 'nvjitlink-floor' of github.com:jameslamb/cuvs into nvji…
jameslamb Mar 6, 2026
5a3a26a
Merge branch 'main' into nvjitlink-floor
jameslamb Mar 6, 2026
a8b52ee
Merge branch 'main' into nvjitlink-floor
jameslamb Mar 9, 2026
3125ea2
update commits
jameslamb Mar 9, 2026
12e20bb
new commits
jameslamb Mar 9, 2026
d63731b
new commits
jameslamb Mar 9, 2026
d5297ce
separate nvidia-nvjitlink from cuda-toolkit
jameslamb Mar 9, 2026
3b8cad8
merge release/26.04
jameslamb Mar 16, 2026
2c7517c
stricter conda floor
jameslamb Mar 16, 2026
fd60f71
update dependency commits
jameslamb Mar 16, 2026
6e4a0da
Merge branch 'release/26.04' into nvjitlink-floor
jameslamb Mar 18, 2026
242a70f
remove testing stuff
jameslamb Mar 18, 2026
98b925f
remove more testing stuff
jameslamb Mar 18, 2026
21b9b44
remove unused anchor
jameslamb Mar 18, 2026
637a506
just use libnvjitlink-dev run_exports, clarify fallback nvidia-nvjitl…
jameslamb Mar 18, 2026
ade1af6
Merge branch 'release/26.04' into nvjitlink-floor
jameslamb Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion ci/test_wheel_cuvs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,18 @@ RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
LIBCUVS_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuvs_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)
CUVS_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" cuvs --stable --cuda "$RAPIDS_CUDA_VERSION")")

# echo to expand wildcard before adding `[extra]` requires for pip
# generate constraints (possibly pinning to oldest support versions of dependencies)
rapids-generate-pip-constraints test_python "${PIP_CONSTRAINT}"

# notes:
#
# * echo to expand wildcard before adding `[test]` requires for pip
# * just providing --constraint="${PIP_CONSTRAINT}" to be explicit, and because
# that environment variable is ignored if any other --constraint are passed via the CLI
#
rapids-pip-retry install \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBCUVS_WHEELHOUSE}"/libcuvs*.whl \
"$(echo "${CUVS_WHEELHOUSE}"/cuvs*.whl)[test]"

Expand Down
24 changes: 0 additions & 24 deletions conda/recipes/libcuvs/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
ignore_run_exports:
by_name:
- cuda-cudart
Expand All @@ -150,9 +147,6 @@ outputs:
- librmm
- mkl
- nccl
- if: cuda_major == "13"
then:
- libnvjitlink
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Just added this, per this conversation w/ @bdice : rapidsai/cudf#21671 (comment)

Having libnvjitlink-dev in the host: environment should get these packages the correct run: dependency via run_exports.

about:
homepage: ${{ load_from_file("python/libcuvs/pyproject.toml").project.urls.Homepage }}
license: ${{ load_from_file("python/libcuvs/pyproject.toml").project.license }}
Expand Down Expand Up @@ -203,9 +197,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
ignore_run_exports:
by_name:
- cuda-cudart
Expand All @@ -219,9 +210,6 @@ outputs:
- librmm
- mkl
- nccl
- if: cuda_major == "13"
then:
- libnvjitlink
about:
homepage: ${{ load_from_file("python/libcuvs/pyproject.toml").project.urls.Homepage }}
license: ${{ load_from_file("python/libcuvs/pyproject.toml").project.license }}
Expand Down Expand Up @@ -270,9 +258,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
ignore_run_exports:
by_name:
- cuda-cudart
Expand All @@ -283,9 +268,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
- librmm
- mkl
- nccl
Expand Down Expand Up @@ -436,9 +418,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
ignore_run_exports:
by_name:
- cuda-cudart
Expand All @@ -449,9 +428,6 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- if: cuda_major == "13"
then:
- libnvjitlink
- librmm
- mkl
- nccl
Expand Down
77 changes: 69 additions & 8 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,8 @@ dependencies:
- clang==20.1.4
- clang-tools==20.1.4
- libclang==20.1.4
# 'cuda_version' intentionally does not contain fallback entries... we want
# a loud error if an unsupported 'cuda' value is passed
cuda_version:
specific:
- output_types: conda
Expand Down Expand Up @@ -314,6 +316,51 @@ dependencies:
cuda: "13.1"
packages:
- cuda-version=13.1
- output_types: requirements
matrices:
# if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
# (e.g. for DLFW and pip devcontainers)
- matrix:
use_cuda_wheels: "false"
packages:
- matrix:
arch: aarch64
cuda: "12.2"
use_cuda_wheels: "true"
packages:
# some components (like nvidia-cublas-cu12 and nvidia-cuda-nvcc-cu12) didn't have
# aarch64 wheels until CTK 12.3, so allow a slightly looser bound here
- cuda-toolkit>=12.2,<12.4
- matrix:
cuda: "12.2"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.2.*
- matrix:
cuda: "12.5"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.5.*
- matrix:
cuda: "12.8"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.8.*
- matrix:
cuda: "12.9"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.9.*
- matrix:
cuda: "13.0"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==13.0.*
- matrix:
cuda: "13.1"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==13.1.*
cuda:
common:
- output_types: [conda]
Expand All @@ -337,26 +384,40 @@ dependencies:
packages:
cuda_wheels:
specific:
# cuVS needs 'nvJitLink>={whatever-cuvs-was-built-against}' at runtime, and mixing
# old-CTK with new-nvJitLink is supported, so maintain 1 entry here per CUDA major.minor
# cuVS is built against.
#
# nvJitLink has historically roughly followed the CTK's minor versioning scheme,
# but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
- output_types: [requirements, pyproject]
matrices:
# skip this whole group if explicitly opting out of CUDA wheels
- matrix:
cuda: "12.*"
use_cuda_wheels: "true"
use_cuda_wheels: "false"
packages:
- cuda-toolkit[cublas,curand,cusolver,cusparse,nvjitlink]==12.*
# We always want nvJitLink >= whatever minor version was available in the build environment
# nvJitLink tends to follow the CTK's minor versions, but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
#
# ref: https://github.com/rapidsai/cudf/pull/20873
- matrix:
cuda: "13.*"
cuda: "12.9"
use_cuda_wheels: "true"
packages:
- cuda-toolkit[cublas,curand,cusolver,cusparse,nvjitlink]==13.*
- cuda-toolkit[cublas,curand,cusolver,cusparse]==12.*
- nvidia-nvjitlink-cu12>=12.9,<13
- matrix:
use_cuda_wheels: "false"
cuda: "13.*"
use_cuda_wheels: "true"
packages:
# if no matching matrix selectors passed, list a range
- &ctk_cu13 cuda-toolkit[cublas,curand,cusolver,cusparse]==13.*
- &nvjitlink_cu13 nvidia-nvjitlink>=13.0,<14
# if no matching matrix selectors passed, list the CUDA 13 requirement
# (just as a source of documentation, as this populates pyproject.toml in source control)
- matrix:
packages:
- cuda-toolkit[cublas,curand,cusolver,cusparse,nvjitlink]>=12,<14
- *ctk_cu13
- *nvjitlink_cu13
depends_on_cupy:
common:
- output_types: conda
Expand Down
3 changes: 2 additions & 1 deletion python/libcuvs/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ authors = [
license = "Apache-2.0"
requires-python = ">=3.11"
dependencies = [
"cuda-toolkit[cublas,curand,cusolver,cusparse,nvjitlink]>=12,<14",
"cuda-toolkit[cublas,curand,cusolver,cusparse]==13.*",
"libraft==26.4.*,>=0.0.0a0",
"librmm==26.4.*,>=0.0.0a0",
"nvidia-nvjitlink>=13.0,<14",
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
classifiers = [
"Intended Audience :: Developers",
Expand Down
Loading