diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index c6ac4d8..52d2ec6 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -23,14 +23,18 @@ jobs: apt-get update && apt-get install -y patchelf curl unzip zip gcc pip install uv - # Get CUDA runtimes via pip + # Get CUDA runtimes via pip (nightly wheels, needed for pre-release multi-GPU PDLP support) - name: Set up python virtual environments with NVIDIA dependencies for CUDA 12 and CUDA 13 (respectively) run: | mkdir -p venvs uv venv venvs/cu12 - uv pip install --python venvs/cu12 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv pip install --python venvs/cu12 --pre \ + --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \ + 'cuopt-cu12==26.10.*,>=0.0.0a0' -qq uv venv venvs/cu13 - uv pip install --python venvs/cu13 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq + uv pip install --python venvs/cu13 --pre \ + --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \ + 'cuopt-cu13==26.10.*,>=0.0.0a0' -qq # Get GAMS (ARM64 version) - name: Download and extract latest GAMS distribution diff --git a/.github/workflows/main-x86_64.yml b/.github/workflows/main-x86_64.yml index 535d4bd..52a8907 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -23,14 +23,18 @@ jobs: apt-get update && apt-get install -y patchelf curl unzip zip gcc pip install uv - # Get CUDA runtimes via pip + # Get CUDA runtimes via pip (nightly wheels, needed for pre-release multi-GPU PDLP support) - name: Set up python virtual environments with NVIDIA dependencies for CUDA 12 and CUDA 13 (respectively) run: | mkdir -p venvs uv venv venvs/cu12 - uv pip install --python venvs/cu12 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv pip install --python venvs/cu12 --pre \ + --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \ + 'cuopt-cu12==26.10.*,>=0.0.0a0' -qq uv venv venvs/cu13 - uv pip install --python venvs/cu13 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq + uv pip install --python venvs/cu13 --pre \ + --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \ + 'cuopt-cu13==26.10.*,>=0.0.0a0' -qq # Get GAMS - name: Download and extract latest GAMS distribution diff --git a/assets/optcuopt.def b/assets/optcuopt.def index 1366127..a1e9975 100644 --- a/assets/optcuopt.def +++ b/assets/optcuopt.def @@ -3,7 +3,7 @@ * * name type usermap default low high visible group num_cpu_threads integer 0 -1 -1 maxint 1 1 Controls the number of CPU threads used in the LP and MIP solvers (default GAMS Threads) -num_gpus integer 0 1 1 2 1 2 Controls the number of GPUs to use for the solve. This setting is only relevant for LP problems that uses concurrent mode and supports up to 2 GPUs at the moment. Using this mode will run PDLP and barrier in parallel on different GPUs to avoid sharing single GPU resources. +num_gpus integer 0 1 1 72 1 2 Controls the number of GPUs to use for the solve. This setting is only relevant for LP problems that use concurrent mode. Any value greater than 1 runs PDLP and barrier in parallel on two separate GPUs to avoid sharing single-GPU resources; cuOpt currently only ever engages exactly 2 GPUs this way, so values above 2 are accepted but have no further effect. presolve enumint 0 -1 1 1 Controls which presolver (if any) to use for presolve reductions. -1 1 default (Papilo for MIP, PSLP for LP) 0 1 off (disable presolve)