Skip to content

GAMS-dev/cuoptlink-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GAMS solver link for NVIDIA cuOpt solver

Build cuOpt link for GAMS

This project builds and packages the GAMS and GAMSPy solver link for the NVIDIA cuOpt solver.

Requirements

  • Operating System: Linux
  • GAMS: Version 49 or newer.
  • GAMSPy: Version 1.12.1 or newer
  • NVIDIA GPU: Volta architecture or better
  • CUDA Runtime Libraries: 12.0+

Getting started / installation

  • Make sure CUDA runtime is installed
  • Download and unpack cuopt-link-release.zip from the releases page:
    • Unpack the contents of cuopt-link-release.zip into your GAMS system directory. For GAMSPy, you can find out your system directory by running gamspy show base. So for example you can run unzip -o cuopt-link-release.zip -d $(gamspy show base).
    • Caution: This will overwrite any existing gamsconfig.yaml file in that directory. The contained gamsconfig.yaml contains a solverConfig section to make cuOpt available to GAMS.

More specifically, the files from the CUDA runtime needed are

libnvJitLink.so.12
libcusolver.so.11
libcurand.so.10
libcusparse.so.12
libcublasLt.so.12
libcublas.so.12

and can be installed e.g. via pip install --extra-index-url=https://pypi.nvidia.com cuopt-cu12==25.5.* nvidia-cuda-runtime-cu12==12.8.* nvidia-nvjitlink-cu12 into a Python environment.

Test the setup

Get an example model and explicitly choose cuopt as lp or mip solver:

gamslib trnsport
gams trnsport lp cuopt

Examples