Installation de cuOpt (utilisateur)
Installez cuOpt pour l'utiliser depuis Python, C, ou en tant que serveur REST. Pour construire cuOpt à partir des sources afin de contribuer ou le modifier, voir cuopt-developer.
Configuration système requise
- GPU : NVIDIA Compute Capability ≥ 7.0 (Volta ou plus récent). Exemples : V100, A100, H100, RTX 20xx/30xx/40xx. Non supporté : GTX 10xx (Pascal).
- CUDA : 12.x ou 13.x. Le suffixe CUDA du paquet doit correspondre au CUDA runtime (ex :
cuopt-cu12/libcuopt-cu12avec CUDA 12). - Driver : driver NVIDIA compatible avec la version CUDA.
cuopt-cuXX(Python) dépend delibcuopt-cuXX(C), donc l'installation du paquet Python installe aussi la bibliothèque C et les en-têtes. Installerlibcuopt-cuXXseul ne pas installer l'API Python.
Questions préalables
Posez ces questions si ce n'est pas déjà clair :
- Interface — Python, C, ou serveur REST ? Le serveur peut être appelé depuis n'importe quel langage via HTTP.
- Version CUDA — Quelle version est installée ? Vérifiez avec
nvcc --versionounvidia-smi. - Gestionnaire de paquets — pip, conda, ou Docker de préférence ?
- Environnement — Machine locale avec GPU, instance cloud, Docker/Kubernetes, ou distant/serveur (pas de GPU local) ?
API Python
Choisissez-en un — n'exécutez pas les deux. La deuxième installation remplacerait la première et peut causer une incompatibilité CUDA / paquet.
pip
- CUDA 13.x :
pip install --extra-index-url=https://pypi.nvidia.com cuopt-cu13 - CUDA 12.x :
pip install --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.2.*'
conda
conda install -c rapidsai -c conda-forge -c nvidia cuopt
Vérification
import cuopt
print(cuopt.__version__)
from cuopt import routing
dm = routing.DataModel(n_locations=3, n_fleet=1, n_orders=2)
API C
L'API C est fournie dans libcuopt-cuXX, qui est aussi tiré comme dépendance de cuopt-cuXX — donc si vous avez déjà installé le paquet Python, la bibliothèque C et les en-têtes sont déjà présents. Installez libcuopt en standalone uniquement si vous voulez l'API C sans Python. Choisissez un parmi pip ou conda — n'exécutez pas les deux.
pip
- CUDA 13.x :
pip install --extra-index-url=https://pypi.nvidia.com libcuopt-cu13 - CUDA 12.x :
pip install --extra-index-url=https://pypi.nvidia.com 'libcuopt-cu12==26.2.*'
conda
conda install -c rapidsai -c conda-forge -c nvidia libcuopt
Vérification
# conda :
find $CONDA_PREFIX -name "cuopt_c.h"
find $CONDA_PREFIX -name "libcuopt.so"
# pip (venv) :
find "$(python -c 'import sys; print(sys.prefix)')" -name "cuopt_c.h"
find "$(python -c 'import sys; print(sys.prefix)')" -name "libcuopt.so"
Serveur (REST)
pip
pip install --extra-index-url=https://pypi.nvidia.com cuopt-server-cu12 cuopt-sh-client
conda
conda install -c rapidsai -c conda-forge -c nvidia cuopt-server cuopt-sh-client
Docker
docker pull nvidia/cuopt:latest-cuda12.9-py3.13
docker run --gpus all -it --rm -p 8000:8000 nvidia/cuopt:latest-cuda12.9-py3.13
Vérification
python -m cuopt_server.cuopt_service --ip 0.0.0.0 --port 8000 &
sleep 5
curl -s http://localhost:8000/cuopt/health | jq .
Problèmes courants
No module named 'cuopt'→ vérifiezpip list | grep cuopt,which python, réinstallez avec le bon extra-index-url.- CUDA non disponible → exécutez
nvidia-smietnvcc --version; assurez-vous que le suffixe CUDA du paquet (cu12vscu13) correspond au CUDA installé. - Python vs C →
cuopt-cuXXtirelibcuopt-cuXXcomme dépendance transitive, donc la bibliothèque C (libcuopt.so) et les en-têtes (cuopt_c.h) sont déjà disponibles après l'installation du paquet Python. L'inverse n'est pas vrai :libcuopt-cuXXseul n'installe pas les bindings Python.
Voir aussi
- verification_examples.md — recettes de vérification complètes pour Python, C, serveur et Docker.
cuopt-developer— construire cuOpt à partir des sources et contribuer à la base de code.