Skip to content
Merged
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
4 changes: 2 additions & 2 deletions .github/workflows/build_test_publish_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ on:
description: 'JSON array of architectures to build for'
cuda_ver:
type: string
default: '["12.9.0"]'
default: '["12.9.0", "13.0.0"]'
description: 'JSON array of CUDA versions to build for'
python_ver:
type: string
default: '["3.12.11"]'
default: '["3.13.7"]'
description: 'JSON array of Python versions to build for'
linux_ver:
type: string
Expand Down
27 changes: 25 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This repo is also hosted as a [COIN-OR](http://github.com/coin-or/cuopt/) projec

### CUDA/GPU requirements

* CUDA 12.0+
* CUDA 12.0+ or CUDA 13.0+
* NVIDIA driver >= 525.60.13 (Linux) and >= 527.41 (Windows)
* Volta architecture or better (Compute Capability >=7.0)

Expand Down Expand Up @@ -77,6 +77,25 @@ pip install --pre \
cuopt-server-cu12==25.10.* cuopt-sh-client==25.10.*
```

For CUDA 13.x:

```bash
pip install \
--extra-index-url=https://pypi.nvidia.com \
nvidia-cuda-runtime==13.0.* \
cuopt-server-cu13==25.10.* cuopt-sh-client==25.10.*
```

Development wheels are available as nightlies, please update `--extra-index-url` to `https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/` to install latest nightly packages.
```bash
pip install --pre \
--extra-index-url=https://pypi.nvidia.com \
--extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
nvidia-cuda-runtime==13.0.* \
cuopt-server-cu13==25.10.* cuopt-sh-client==25.10.*
```


### Conda

cuOpt can be installed with conda (via [miniforge](https://github.com/conda-forge/miniforge)):
Expand All @@ -95,10 +114,14 @@ of our latest development branch. Just replace `-c rapidsai` with `-c rapidsai-n
Users can pull the cuOpt container from the NVIDIA container registry.

```bash
# For CUDA 12.x
docker pull nvidia/cuopt:latest-cuda12.9-py312

# For CUDA 13.x
docker pull nvidia/cuopt:latest-cuda13.0-py312
```

Note: The ``latest`` tag is the latest stable release of cuOpt. If you want to use a specific version, you can use the ``<version>-cuda12.9-py312`` tag. For example, to use cuOpt 25.5.0, you can use the ``25.5.0-cuda12.8-py312`` tag. Please refer to `cuOpt dockerhub page <https://hub.docker.com/r/nvidia/cuopt>`_ for the list of available tags.
Note: The ``latest`` tag is the latest stable release of cuOpt. If you want to use a specific version, you can use the ``<version>-cuda12.9-py312`` or ``<version>-cuda13.0-py312`` tag. For example, to use cuOpt 25.5.0, you can use the ``25.5.0-cuda12.8-py312`` or ``25.5.0-cuda13.0-py312`` tag. Please refer to `cuOpt dockerhub page <https://hub.docker.com/r/nvidia/cuopt>`_ for the list of available tags.

More information about the cuOpt container can be found [here](https://docs.nvidia.com/cuopt/user-guide/latest/cuopt-server/quick-start.html#container-from-docker-hub).

Expand Down
6 changes: 4 additions & 2 deletions ci/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,17 @@ ARG CUOPT_VER
ARG PYTHON_SHORT_VER

# Install cuOpt as root to make it available to all users
RUN cuda_suffix=cu$(echo ${CUDA_VER} | cut -d'.' -f1) && \
RUN \
cuda_suffix=cu$(echo ${CUDA_VER} | cut -d'.' -f1) && \
cuda_major_minor=$(echo ${CUDA_VER} | cut -d'.' -f1-2) && \
python -m pip install \
--extra-index-url https://pypi.nvidia.com \
--extra-index-url https://pypi.anaconda.org/rapidsai-wheels-nightly/simple \
--no-cache-dir \
"cuopt-server-${cuda_suffix}==${CUOPT_VER}" \
"cuopt-sh-client==${CUOPT_VER}" \
"nvidia-cuda-runtime-${cuda_suffix}==${cuda_major_minor}.*" && \
"cuda-toolkit[cudart]==${cuda_major_minor}.*" \
${nvidia_cuda_runtime_pkg} && \
python -m pip list

# Remove gcc to save space, gcc was required for building psutils
Expand Down
12 changes: 2 additions & 10 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -748,20 +748,12 @@ dependencies:
cuda: "12.*"
use_cuda_wheels: "true"
packages:
- nvidia-cublas-cu12
- nvidia-curand-cu12
- nvidia-cusparse-cu12
- nvidia-cusolver-cu12
- nvidia-nvtx-cu12
- cuda-toolkit[cublas,curand,cusolver,cusparse,nvtx]==12.*
- matrix:
cuda: "13.*"
use_cuda_wheels: "true"
packages:
- nvidia-cublas-cu13
- nvidia-curand-cu13
- nvidia-cusparse-cu13
- nvidia-cusolver-cu13
- nvidia-nvtx-cu13
- cuda-toolkit[cublas,curand,cusolver,cusparse,nvtx]==13.*
# if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
# (e.g. for DLFW and pip devcontainers)
- matrix:
Expand Down
4 changes: 2 additions & 2 deletions docs/cuopt/source/cuopt-c/quick-start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This wheel is a Python wrapper around the C++ library and eases installation and

# CUDA 13
pip install --extra-index-url=https://pypi.nvidia.com \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'libcuopt-cu13==25.10.*'

# CUDA 12
Expand All @@ -36,7 +36,7 @@ This wheel is a Python wrapper around the C++ library and eases installation and

# CUDA 13
pip install --pre --extra-index-url=https://pypi.nvidia.com --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'libcuopt-cu13==25.10.*'

# CUDA 12
Expand Down
4 changes: 2 additions & 2 deletions docs/cuopt/source/cuopt-python/quick-start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pip

# CUDA 13
pip install --extra-index-url=https://pypi.nvidia.com \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'cuopt-cu13==25.10.*'

# CUDA 12
Expand All @@ -30,7 +30,7 @@ pip

# CUDA 13
pip install --pre --extra-index-url=https://pypi.nvidia.com --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'cuopt-cu13==25.10.*'

# CUDA 12
Expand Down
4 changes: 2 additions & 2 deletions docs/cuopt/source/cuopt-server/quick-start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pip

# CUDA 13
pip install --extra-index-url=https://pypi.nvidia.com \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'cuopt-server-cu13==25.10.*' \
'cuopt-sh-client==25.10.*'

Expand All @@ -29,7 +29,7 @@ pip

# CUDA 13
pip install --pre --extra-index-url=https://pypi.nvidia.com --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
'nvidia-cuda-runtime-cu13==13.0.*' \
'nvidia-cuda-runtime==13.0.*' \
'cuopt-server-cu13==25.10.*' \
'cuopt-sh-client==25.10.*'

Expand Down
2 changes: 2 additions & 0 deletions python/libcuopt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ set(rpaths
"$ORIGIN/../../nvidia/curand/lib"
"$ORIGIN/../../nvidia/cusolver/lib"
"$ORIGIN/../../nvidia/cusparse/lib"
# For CUDA 13.x
"$ORIGIN/../../nvidia/cu13/lib"
)

set_property(TARGET cuopt PROPERTY INSTALL_RPATH ${rpaths} APPEND)
Expand Down