https://github.com/jump-dev/cuopt.jl
A Julia interface to NVIDIA's cuOpt
https://github.com/jump-dev/cuopt.jl
gpu jump linear-programming
Last synced: 7 months ago
JSON representation
A Julia interface to NVIDIA's cuOpt
- Host: GitHub
- URL: https://github.com/jump-dev/cuopt.jl
- Owner: jump-dev
- License: apache-2.0
- Created: 2025-07-17T01:00:44.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-08-13T02:57:01.000Z (7 months ago)
- Last Synced: 2025-08-13T03:33:48.979Z (7 months ago)
- Topics: gpu, jump, linear-programming
- Language: JetBrains MPS
- Homepage: https://github.com/NVIDIA/cuOpt
- Size: 237 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# cuOpt.jl
[cuOpt.jl](https://github.com/jump-dev/cuOpt.jl) is a wrapper for [NVIDIA cuOpt](https://github.com/NVIDIA/cuOpt),
a GPU-accelerated Optimization Engine.
The package has two components:
- a thin wrapper around the complete C API
- an interface to [MathOptInterface](https://github.com/jump-dev/MathOptInterface.jl)
## Affiliation
This wrapper is developed and maintained by NVIDIA with help from the JuMP community.
## Getting Help
For assistance, please post your questions on the [JuMP community forum](https://jump.dev/forum).
If you encounter a reproducible bug, feel free to open a [GitHub issue](https://github.com/jump-dev/cuOpt.jl/issues).
## License
`cuOpt.jl` is licensed under the [Apache License, Version 2.0](https://github.com/jump-dev/cuOpt.jl/blob/master/LICENSE).
## System Requirements
Please refer to [NVIDIA cuOpt system requirements](https://docs.nvidia.com/cuopt/user-guide/latest/system-requirements.html).
## Intallation
To use cuOpt.jl, you must first separately install cuOpt.
**Installing cuOpt requires Linux.**
Please refer to the [NVIDIA cuOpt documentation](https://docs.nvidia.com/cuopt/user-guide/latest/cuopt-c/quick-start.html#installation) for installation instructions.
Please ensure the library path for `libcuopt.so` is added to `LD_LIBRARY_PATH`.
Once cuOpt is installed, add cuOpt.jl as follows:
```julia
import Pkg
Pkg.add("cuOpt")
```
### Colab
To install cuOpt on [Google Colab](https://colab.research.google.com), do:
```julia
julia> cmd = run(`pip install --extra-index-url=https://pypi.nvidia.com libcuopt-cu12==25.8.\* nvidia-cuda-runtime-cu12==12.8.\*`);
julia> ENV["LD_LIBRARY_PATH"] = "/usr/lib64-nvidia;/usr/local/lib/python3.11/dist-packages/libcuopt/lib64"
```
## Use with JuMP
To use NVIDIA cuOpt with JuMP, use `cuOpt.Optimizer`:
```julia
using JuMP, cuOpt
model = Model(cuOpt.Optimizer)
@variable(model, x >= 0)
@variable(model, 0 <= y <= 3)
@objective(model, Min, 12x + 20y)
@constraint(model, 6x + 8y >= 100)
@constraint(model, 7x + 12y >= 120)
optimize!(model)
```
## Documentation
See the [NVIDIA cuOpt documentation](https://docs.nvidia.com/cuopt/user-guide/latest/)
for more details.