Skip to main content

cuopt-install

Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.

Source facts

Repository
NVIDIA/cuopt
Last source activity
October 15, 2026 at 22:08
Detected SKILL.md language
English
Stars
1,059
Forks
243

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
7 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cuopt-install
version
26.12.00
description
Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.
license
Apache-2.0
metadata
{"author":"NVIDIA cuOpt Team","tags":["cuopt","install","deployment","python","server"]}
# cuOpt Install (user) Install cuOpt to *use* it from Python, C, or as a REST server. For building cuOpt from source to contribute or modify it, see `cuopt-developer`. ## System requirements - **GPU**: NVIDIA Compute Capability ≥ 7.0 (Volta or newer). Examples: V100, A100, H100, RTX 20xx/30xx/40xx. Not supported: GTX 10xx (Pascal). - **CUDA**: 12.x or 13.x. The package CUDA suffix must match the runtime CUDA (e.g. `cuopt-cu12` / `libcuopt-cu12` with CUDA 12). - **Driver**: NVIDIA driver compatible with the CUDA version. - `cuopt-cuXX` (Python) depends on `libcuopt-cuXX` (C), so installing the Python package also installs the C library and headers. Installing `libcuopt-cuXX` on its own does **not** install the Python API. ## Required questions Ask these if not already clear: 1. **Interface** — Python, C, or REST server? Server can be called from any language via HTTP. 2. **CUDA version** — What is installed? Check with `nvcc --version` or `nvidia-smi`. 3. **Package manager** — pip, conda, or Docker preferred? 4. **Release channel** — latest stable release (default) or nightly (built from the development branch, may be unstable)? 5. **Environment** — Local machine with GPU, cloud instance, Docker/Kubernetes, or remote/server (no local GPU)? ## Release channels Commands below install the **latest stable release**. For **nightly** builds (development branch HEAD, version `NEXT` = `VERSION` file on `main`, e.g. `26.12`), change: - **pip**: add `--pre --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/` and pin each listed cuOpt package (including `cuopt-sh-client`) to `==NEXT.*`. - **conda**: replace `-c rapidsai` with `-c rapidsai-nightly` and pin `=NEXT.*`. - **Docker**: use `nvidia/cuopt:NEXT.0a-cu12` / `-cu13` / `-cu13-ubi10` instead of `latest-*`. ## Python API **Choose one** — do not run both. The second install would override the first and can cause CUDA / package mismatch. ### pip - **CUDA 13.x:** ```bash pip install --extra-index-url=https://pypi.nvidia.com cuopt-cu13 ``` - **CUDA 12.x:** ```bash pip install --extra-index-url=https://pypi.nvidia.com cuopt-cu12 ``` ### conda ```bash conda install -c rapidsai -c conda-forge -c nvidia cuopt ``` ### Verify ```python import cuopt print(cuopt.__version__) from cuopt import routing dm = routing.DataModel(n_locations=3, n_fleet=1, n_orders=2) ``` ## C API The C API ships in `libcuopt-cuXX`, which is also pulled in as a dependency of `cuopt-cuXX` — so if you already installed the Python package, the C library and headers are already present. Install `libcuopt` standalone only when you want the C API without Python. **Choose one** of pip or conda — do not run both. ### pip - **CUDA 13.x:** ```bash pip install --extra-index-url=https://pypi.nvidia.com libcuopt-cu13 ``` - **CUDA 12.x:** ```bash pip install --extra-index-url=https://pypi.nvidia.com libcuopt-cu12 ``` ### conda ```bash conda install -c rapidsai -c conda-forge -c nvidia libcuopt ``` ### Verify See [`references/verification_examples.md`](references/verification_examples.md) for the canonical C-API header/library `find` commands (conda and pip/venv variants). ## Server (REST) ### pip ```bash pip install --extra-index-url=https://pypi.nvidia.com cuopt-server-cu12 cuopt-sh-client ``` ### conda ```bash conda install -c rapidsai -c conda-forge -c nvidia cuopt-server cuopt-sh-client ``` ### Docker ```bash docker pull nvidia/cuopt:latest-cu12 docker run --gpus all -it --rm -p 8000:8000 nvidia/cuopt:latest-cu12 ``` ### Verify ```bash python -m cuopt_server.cuopt_service --ip 0.0.0.0 --port 8000 & sleep 5 curl -s http://localhost:8000/cuopt/health | jq . ``` ## Common Issues - `No module named 'cuopt'` → check `pip list | grep cuopt`, `which python`, reinstall with the correct extra-index-url. - CUDA not available → run `nvidia-smi` and `nvcc --version`; ensure the package CUDA suffix (`cu12` vs `cu13`) matches the installed CUDA. - Python vs C → `cuopt-cuXX` pulls in `libcuopt-cuXX` as a transitive dependency, so the C library (`libcuopt.so`) and headers (`cuopt_c.h`) are already available after installing the Python package. The reverse is **not** true: `libcuopt-cuXX` alone does not install the Python bindings. ## See also - [verification_examples.md](references/verification_examples.md) — full verification recipes for Python, C, server, and Docker. - `cuopt-developer` — build cuOpt from source and contribute to the codebase.
View on GitHub