cuopt-install

Par nvidia · skills

Installez cuOpt pour Python, C, ou en tant que serveur (pip, conda, Docker) — configuration système requise, commandes d'installation et vérification. À utiliser lorsque l'utilisateur souhaite installer ou vérifier cuOpt pour toute interface utilisateur. Pour compiler cuOpt depuis les sources ou contribuer à cuOpt, consultez cuopt-developer.

npx skills add https://github.com/nvidia/skills --skill cuopt-install

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-cu12 avec CUDA 12).
  • Driver : driver NVIDIA compatible avec la version CUDA.
  • cuopt-cuXX (Python) dépend de libcuopt-cuXX (C), donc l'installation du paquet Python installe aussi la bibliothèque C et les en-têtes. Installer libcuopt-cuXX seul ne pas installer l'API Python.

Questions préalables

Posez ces questions si ce n'est pas déjà clair :

  1. Interface — Python, C, ou serveur REST ? Le serveur peut être appelé depuis n'importe quel langage via HTTP.
  2. Version CUDA — Quelle version est installée ? Vérifiez avec nvcc --version ou nvidia-smi.
  3. Gestionnaire de paquets — pip, conda, ou Docker de préférence ?
  4. 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érifiez pip list | grep cuopt, which python, réinstallez avec le bon extra-index-url.
  • CUDA non disponible → exécutez nvidia-smi et nvcc --version ; assurez-vous que le suffixe CUDA du paquet (cu12 vs cu13) correspond au CUDA installé.
  • Python vs C → cuopt-cuXX tire libcuopt-cuXX comme 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-cuXX seul 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.

Skills similaires