gitmyhub

cuopt

Cuda ★ 952 updated 1d ago

GPU accelerated decision optimization

cuOpt is an optimization engine from NVIDIA that uses graphics processing units to solve certain classes of mathematical planning and scheduling problems much faster than conventional approaches. The core problems it addresses are linear programming, mixed integer linear programming, quadratic programming, and vehicle routing. In plain terms, these are the kinds of problems where you need to find the best arrangement of resources given a set of rules and limits, such as finding the most efficient routes for a fleet of delivery vehicles.

The system requires an NVIDIA GPU from 2017 or later and runs on Linux. It can also run on Windows through a compatibility layer called WSL2. The underlying engine is written in C++, with usable interfaces provided for Python, C, and a network-based server mode. The server mode lets you run cuOpt as a standalone service that other programs send requests to, which is useful when you want to add optimization to an existing workflow without tightly coupling the code.

Installation is straightforward through standard Python package tools or conda, with separate packages depending on whether your machine has CUDA version 12 or 13. A ready-to-run container image is also available from Docker Hub for quick testing. The README includes the exact installation commands for each option.

The project follows the RAPIDS release schedule, a collection of GPU-accelerated data science libraries also maintained by NVIDIA. Contributors can build from source using the instructions in the contributing guide, and the project welcomes bug fixes and new features through pull requests.

An examples repository and interactive notebook tutorials are linked from the README for people who want to see cuOpt applied to real problems before committing to a full setup.