Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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_self_hosted_service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,18 @@ CUOPT_SERVER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_server_${RAPIDS_PY_CUDA_SU
CUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python)
LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)

# 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}" \
"${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \
"${CUOPT_WHEELHOUSE}"/cuopt*.whl \
"${LIBCUOPT_WHEELHOUSE}"/libcuopt*.whl \
Expand Down
12 changes: 11 additions & 1 deletion ci/test_wheel_cuopt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,18 @@ cuopt-sh-client @ file://$(echo ${CUOPT_SH_CLIENT_WHEELHOUSE}/cuopt_sh_client-*.
libcuopt-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo ${LIBCUOPT_WHEELHOUSE}/libcuopt_${RAPIDS_PY_CUDA_SUFFIX}-*.whl)
EOF

# 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}" \
--constraint "${PIP_CONSTRAINT}" \
"${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \
"$(echo "${CUOPT_WHEELHOUSE}"/cuopt*.whl)[test]" \
Expand Down
12 changes: 11 additions & 1 deletion ci/test_wheel_cuopt_server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,18 @@ CUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-
CUOPT_SH_CLIENT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_sh_client" RAPIDS_PY_WHEEL_PURE="1" rapids-download-wheels-from-github python)
LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)

# 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}" \
"${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \
"$(echo "${CUOPT_SERVER_WHEELHOUSE}"/cuopt_server*.whl)[test]" \
"${CUOPT_WHEELHOUSE}"/cuopt*.whl \
Expand Down
92 changes: 67 additions & 25 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -633,22 +633,16 @@ dependencies:
- matrix:
packages:
- *pylibraft_unsuffixed
# '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
matrices:
- matrix:
cuda: "12.0"
packages:
- cuda-version=12.0
- matrix:
cuda: "12.2"
packages:
- cuda-version=12.2
- matrix:
cuda: "12.4"
packages:
- cuda-version=12.4
- matrix:
cuda: "12.5"
packages:
Expand All @@ -669,6 +663,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 @@ -682,37 +721,40 @@ dependencies:

cuda_wheels:
specific:
# cuOpt needs 'nvJitLink>={whatever-cuopt-was-built-against}' at runtime, and mixing
# old-CTK with new-nvJitLink is supported, so maintain 1 entry here per CUDA major.minor
# cuOpt 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:
# 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:
cuda: "12.*"
use_cuda_wheels: "true"
packages:
- cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvjitlink,nvtx]==12.*
- cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvtx]==12.*
- nvidia-cudss-cu12
- nvidia-nvjitlink-cu12>=12.9,<13
- matrix:
cuda: "13.*"
use_cuda_wheels: "true"
packages:
- cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvjitlink,nvtx]==13.*
- nvidia-cudss-cu13
# 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: []
# if no matching matrix selectors passed, list the unsuffixed packages
- &ctk_cu13 cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvtx]==13.*
- &cudss_cu13 nvidia-cudss-cu13
- &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:
- nvidia-cudart
- nvidia-cublas
- nvidia-cudss
- nvidia-curand
- nvidia-cusparse
- nvidia-nvjitlink
- nvidia-cusolver
- nvidia-nvtx
- *ctk_cu13
- *cudss_cu13
- *nvjitlink_cu13
develop:
common:
- output_types: [conda, requirements]
Expand Down
11 changes: 3 additions & 8 deletions python/libcuopt/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,11 @@ classifiers = [
"Programming Language :: Python :: 3.14",
]
dependencies = [
"cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvtx]==13.*",
"cuopt-mps-parser==26.4.*,>=0.0.0a0",
"librmm==26.4.*,>=0.0.0a0",
"nvidia-cublas",
"nvidia-cudart",
"nvidia-cudss",
"nvidia-curand",
"nvidia-cusolver",
"nvidia-cusparse",
"nvidia-nvjitlink",
"nvidia-nvtx",
"nvidia-cudss-cu13",
"nvidia-nvjitlink>=13.0,<14",
"rapids-logger==0.2.*,>=0.0.0a0",
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.

Expand Down
Loading