From ba33c8036ff86ca2ad27cd264284d92785dd219f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schnabel?= Date: Fri, 7 Aug 2026 09:04:38 +0200 Subject: [PATCH 1/5] Update link from cuOpt 26.06 to 26.08 --- .github/workflows/main-arm64.yml | 52 +++++++++++++++---------------- .github/workflows/main-x86_64.yml | 52 +++++++++++++++---------------- build-link.sh | 24 +++++++------- gmscuopt.c | 14 +++++++-- 4 files changed, 76 insertions(+), 66 deletions(-) diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index 186641c..fc3f1bc 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -29,12 +29,12 @@ jobs: python -m venv venvs/cu12 bash -c "source venvs/cu12/bin/activate && \ pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.6.*' -qq && + pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq && deactivate" python -m venv venvs/cu13 bash -c "source venvs/cu13/bin/activate && \ pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.6.*' -qq && + pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq && deactivate" # Get GAMS (ARM64 version) @@ -75,40 +75,40 @@ jobs: cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so.1.0.0 release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so.2 release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so.2 release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu12/ mkdir runtime-cu12 - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so.0 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so.0 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so.11 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so.10 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so.2.2.0 runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ mkdir release-cu13 cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so.1.0.0 release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so.2 release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so.2 release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu13/ mkdir runtime-cu13 - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so.0 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so.0 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so.10 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so.12 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so.12 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so.2.2.0 runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ # Upload artifacts - name: Upload CUDA 12 link artifact to GitHub Actions (always) diff --git a/.github/workflows/main-x86_64.yml b/.github/workflows/main-x86_64.yml index 8d31bf9..d787c1d 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -29,12 +29,12 @@ jobs: python -m venv venvs/cu12 bash -c "source venvs/cu12/bin/activate && \ pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.6.*' -qq && + pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq && deactivate" python -m venv venvs/cu13 bash -c "source venvs/cu13/bin/activate && \ pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.6.*' -qq && + pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq && deactivate" # Get GAMS @@ -75,40 +75,40 @@ jobs: cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so.1.0.0 release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so.2 release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so.2 release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu12/ mkdir runtime-cu12 - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so.0 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so.0 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so.11 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so.10 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so.12 runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so.2.2.0 runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ mkdir release-cu13 cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so.1.0.0 release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so.2 release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so.2 release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu13/ mkdir runtime-cu13 - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so.0 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so.0 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so.13 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so.10 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so.12 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so.12 runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so.2.2.0 runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ # Upload artifacts - name: Upload CUDA 12 link artifact to GitHub Actions (always) diff --git a/build-link.sh b/build-link.sh index ebaffff..f69c61d 100644 --- a/build-link.sh +++ b/build-link.sh @@ -47,20 +47,20 @@ mkdir -p "$GAMSDIST" mv gmscuopt-cu13.out "$GAMSDIST/gmscuopt.out" cp "$CUOPT/lib64/libcuopt.so" "$GAMSDIST/" -cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libgomp-*.so.1.0.0 "$GAMSDIST/" -cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbb-*.so.2 "$GAMSDIST/" -cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbbmalloc-*.so.2 "$GAMSDIST/" +cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libgomp-*.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbb-*.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbbmalloc-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/rapids_logger/lib64/librapids_logger.so "$GAMSDIST/" cp "$SITE_PACKAGES"/librmm/lib64/librmm.so "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcudss.so.0 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcudss_mtlayer_gomp.so.0 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libnvJitLink.so.13 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcublas.so.13 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcublasLt.so.13 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcurand.so.10 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusolver.so.12 "$GAMSDIST/" -cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusparse.so.12 "$GAMSDIST/" -cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libcares-*.so.2.2.0 "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcudss.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libnvJitLink.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcublas.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcublasLt.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcurand.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusolver.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusparse.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libcares-*.so* "$GAMSDIST/" # Copy assets (suppress errors if directory is empty or missing) cp -r assets/* "$GAMSDIST/" 2>/dev/null || true diff --git a/gmscuopt.c b/gmscuopt.c index d2e2874..049bcaa 100644 --- a/gmscuopt.c +++ b/gmscuopt.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include "gmomcc.h" @@ -252,6 +253,11 @@ int main(int argc, char *argv[]) optGetValuesNr(opt, i, optname, &ival, &dval, sval); if (data_type == optDataInteger) { + if (strcasecmp(optname, "solve_by_pdlp") == 0 || strcasecmp(optname, "solve-by-pdlp") == 0) + { + printOut(gev, "WARNING: Parameter 'solve-by-pdlp' was removed in cuOpt 26.08. Ignoring option.\n"); + continue; + } status = cuOptSetIntegerParameter(settings, optname, ival); if (status != CUOPT_SUCCESS) { printOut(gev, "Error setting integer option >%s<: %d\n", optname, status); @@ -842,7 +848,9 @@ int main(int argc, char *argv[]) printOut(gev, "Error getting reduced cost: %d\n", status); goto DONE; } - if (gmoSense(gmo) == gmoObj_Max) + // Only invert sign for linear maximization models; + // cuOpt 26.08+ handles quadratic maximization dual signs natively. + if (gmoSense(gmo) == gmoObj_Max && gmoModelType(gmo) == gmoProc_lp) { // patch duals for max problem for (int j = 0; j < num_variables; j++) @@ -874,7 +882,9 @@ int main(int argc, char *argv[]) final_duals[i] = raw_duals[i]; // Fallback if directly read from MPS } - if (gmoSense(gmo) == gmoObj_Max) + // Only invert sign for linear maximization models; + // cuOpt 26.08+ handles quadratic maximization dual signs natively. + if (gmoSense(gmo) == gmoObj_Max && gmoModelType(gmo) == gmoProc_lp) { final_duals[i] *= -1.0; // patch duals for max problem } From 03a1dc7c0609c8e9a298c860e90b04ecd69f5247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schnabel?= Date: Fri, 7 Aug 2026 09:40:19 +0200 Subject: [PATCH 2/5] Fix libgomp path in workflow --- .github/workflows/main-arm64.yml | 4 ++-- .github/workflows/main-x86_64.yml | 4 ++-- build-link.sh | 2 +- gmscuopt.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index fc3f1bc..934def5 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -75,7 +75,7 @@ jobs: cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ @@ -94,7 +94,7 @@ jobs: cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ diff --git a/.github/workflows/main-x86_64.yml b/.github/workflows/main-x86_64.yml index d787c1d..8070673 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -75,7 +75,7 @@ jobs: cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.12/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ @@ -94,7 +94,7 @@ jobs: cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.12/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ diff --git a/build-link.sh b/build-link.sh index f69c61d..d3e8bb8 100644 --- a/build-link.sh +++ b/build-link.sh @@ -47,7 +47,7 @@ mkdir -p "$GAMSDIST" mv gmscuopt-cu13.out "$GAMSDIST/gmscuopt.out" cp "$CUOPT/lib64/libcuopt.so" "$GAMSDIST/" -cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libgomp-*.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/libraft_cu13.libs/libgomp-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbb-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbbmalloc-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/rapids_logger/lib64/librapids_logger.so "$GAMSDIST/" diff --git a/gmscuopt.c b/gmscuopt.c index 049bcaa..0b25262 100644 --- a/gmscuopt.c +++ b/gmscuopt.c @@ -9,7 +9,7 @@ #include "gmomcc.h" #include "gevmcc.h" #include "optcc.h" -#include +#include int printOut (gevHandle_t gev, char *fmt, ...) From cce1c2ac146d90eda186de4dfc1752443a9ffde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schnabel?= Date: Fri, 7 Aug 2026 09:50:46 +0200 Subject: [PATCH 3/5] Try switching to uv and from Python 3.12 to 3.13 --- .github/workflows/main-arm64.yml | 85 +++++++++++++++---------------- .github/workflows/main-x86_64.yml | 85 +++++++++++++++---------------- 2 files changed, 80 insertions(+), 90 deletions(-) diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index 934def5..02369fc 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -12,7 +12,7 @@ jobs: build-link: runs-on: ubuntu-24.04-arm container: - image: python:3.12 + image: python:3.13 steps: - name: Checkout repository @@ -21,21 +21,16 @@ jobs: - name: Install dependencies run: | apt-get update && apt-get install -y patchelf curl unzip zip gcc + pip install uv # Get CUDA runtimes via pip - name: Set up python virtual environments with NVIDIA dependencies for CUDA 12 and CUDA 13 (respectively) run: | mkdir -p venvs - python -m venv venvs/cu12 - bash -c "source venvs/cu12/bin/activate && \ - pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq && - deactivate" - python -m venv venvs/cu13 - bash -c "source venvs/cu13/bin/activate && \ - pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq && - deactivate" + uv venv venvs/cu12 + uv pip install --python venvs/cu12 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv venv venvs/cu13 + uv pip install --python venvs/cu13 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq # Get GAMS (ARM64 version) - name: Download and extract latest GAMS distribution @@ -49,8 +44,8 @@ jobs: - name: Compile GAMS/cuOpt-link binary "gmscuopt.out" for CUDA 12 and then for CUDA 13 run: | export GAMSCAPI="gamsdist/apifiles/C/api" - export CUOPT="venvs/cu12/lib/python3.12/site-packages/libcuopt" - export JITLINK="venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib" + export CUOPT="venvs/cu12/lib/python3.13/site-packages/libcuopt" + export JITLINK="venvs/cu12/lib/python3.13/site-packages/nvidia/nvjitlink/lib" export CUOPT_VERSION="`cat "$CUOPT/VERSION"`" export CUOPT_HASH="`cat "$CUOPT/GIT_COMMIT"`" gcc -Wall gmscuopt.c -o gmscuopt-cu12.out \ @@ -58,8 +53,8 @@ jobs: -I $GAMSCAPI $GAMSCAPI/gmomcc.c $GAMSCAPI/optcc.c $GAMSCAPI/gevmcc.c \ -I $CUOPT/include $JITLINK/libnvJitLink.so.12 -L $CUOPT/lib64 -lcuopt patchelf --set-rpath \$ORIGIN gmscuopt-cu12.out - export CUOPT="venvs/cu13/lib/python3.12/site-packages/libcuopt" - export JITLINK="venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib" + export CUOPT="venvs/cu13/lib/python3.13/site-packages/libcuopt" + export JITLINK="venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib" export CUOPT_VERSION="`cat "$CUOPT/VERSION"`" export CUOPT_HASH="`cat "$CUOPT/GIT_COMMIT"`" gcc -Wall gmscuopt.c -o gmscuopt-cu13.out \ @@ -74,41 +69,41 @@ jobs: mkdir release-cu12 cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu12/ mkdir runtime-cu12 - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ mkdir release-cu13 cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu13/ mkdir runtime-cu13 - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ # Upload artifacts - name: Upload CUDA 12 link artifact to GitHub Actions (always) diff --git a/.github/workflows/main-x86_64.yml b/.github/workflows/main-x86_64.yml index 8070673..919b231 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -12,7 +12,7 @@ jobs: build-link: runs-on: ubuntu-latest container: - image: python:3.12 + image: python:3.13 steps: - name: Checkout repository @@ -21,21 +21,16 @@ jobs: - name: Install dependencies run: | apt-get update && apt-get install -y patchelf curl unzip zip gcc + pip install uv # Get CUDA runtimes via pip - name: Set up python virtual environments with NVIDIA dependencies for CUDA 12 and CUDA 13 (respectively) run: | mkdir -p venvs - python -m venv venvs/cu12 - bash -c "source venvs/cu12/bin/activate && \ - pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq && - deactivate" - python -m venv venvs/cu13 - bash -c "source venvs/cu13/bin/activate && \ - pip install --upgrade pip -qq && \ - pip install --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq && - deactivate" + uv venv venvs/cu12 + uv pip install --python venvs/cu12 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv venv venvs/cu13 + uv pip install --python venvs/cu13 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq # Get GAMS - name: Download and extract latest GAMS distribution @@ -49,8 +44,8 @@ jobs: - name: Compile GAMS/cuOpt-link binary "gmscuopt.out" for CUDA 12 and then for CUDA 13 run: | export GAMSCAPI="gamsdist/apifiles/C/api" - export CUOPT="venvs/cu12/lib/python3.12/site-packages/libcuopt" - export JITLINK="venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib" + export CUOPT="venvs/cu12/lib/python3.13/site-packages/libcuopt" + export JITLINK="venvs/cu12/lib/python3.13/site-packages/nvidia/nvjitlink/lib" export CUOPT_VERSION="`cat "$CUOPT/VERSION"`" export CUOPT_HASH="`cat "$CUOPT/GIT_COMMIT"`" gcc -Wall gmscuopt.c -o gmscuopt-cu12.out \ @@ -58,8 +53,8 @@ jobs: -I $GAMSCAPI $GAMSCAPI/gmomcc.c $GAMSCAPI/optcc.c $GAMSCAPI/gevmcc.c \ -I $CUOPT/include $JITLINK/libnvJitLink.so.12 -L $CUOPT/lib64 -lcuopt patchelf --set-rpath \$ORIGIN gmscuopt-cu12.out - export CUOPT="venvs/cu13/lib/python3.12/site-packages/libcuopt" - export JITLINK="venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib" + export CUOPT="venvs/cu13/lib/python3.13/site-packages/libcuopt" + export JITLINK="venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib" export CUOPT_VERSION="`cat "$CUOPT/VERSION"`" export CUOPT_HASH="`cat "$CUOPT/GIT_COMMIT"`" gcc -Wall gmscuopt.c -o gmscuopt-cu13.out \ @@ -74,41 +69,41 @@ jobs: mkdir release-cu12 cp gmscuopt-cu12.out release-cu12/gmscuopt.out cp assets/* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt/lib64/libcuopt.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu12/ mkdir runtime-cu12 - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ - cp venvs/cu12/lib/python3.12/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cusolver/lib/libcusolver.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cublas/lib/libcublas.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cublas/lib/libcublasLt.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/curand/lib/libcurand.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/cusparse/lib/libcusparse.so* runtime-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libcares-*.so* runtime-cu12/ mkdir release-cu13 cp gmscuopt-cu13.out release-cu13/gmscuopt.out cp assets/* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/librmm/lib64/librmm.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt/lib64/libcuopt.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu13/ mkdir runtime-cu13 - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ - cp venvs/cu13/lib/python3.12/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libnvJitLink.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcublas.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcublasLt.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcurand.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcusolver.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcusparse.so* runtime-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libcares-*.so* runtime-cu13/ # Upload artifacts - name: Upload CUDA 12 link artifact to GitHub Actions (always) From 019b8f9f1a568834d119edc98787ff155996efc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schnabel?= Date: Fri, 7 Aug 2026 09:53:21 +0200 Subject: [PATCH 4/5] No timeout --- .github/workflows/main-arm64.yml | 4 ++-- .github/workflows/main-x86_64.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index 02369fc..735a5d8 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -28,9 +28,9 @@ jobs: run: | mkdir -p venvs uv venv venvs/cu12 - uv pip install --python venvs/cu12 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv pip install --python venvs/cu12 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq uv venv venvs/cu13 - uv pip install --python venvs/cu13 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq + uv pip install --python venvs/cu13 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -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 919b231..b907b9e 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -28,9 +28,9 @@ jobs: run: | mkdir -p venvs uv venv venvs/cu12 - uv pip install --python venvs/cu12 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq + uv pip install --python venvs/cu12 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.8.*' -qq uv venv venvs/cu13 - uv pip install --python venvs/cu13 --timeout=150 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq + uv pip install --python venvs/cu13 --extra-index-url=https://pypi.nvidia.com 'cuopt-cu13==26.8.*' -qq # Get GAMS - name: Download and extract latest GAMS distribution From c5339fcdd2998db46a3110d0a896da33d286f22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schnabel?= Date: Fri, 7 Aug 2026 10:15:30 +0200 Subject: [PATCH 5/5] Fix missing deps --- .github/workflows/main-arm64.yml | 4 ++++ .github/workflows/main-x86_64.yml | 4 ++++ build-link.sh | 2 ++ 3 files changed, 10 insertions(+) diff --git a/.github/workflows/main-arm64.yml b/.github/workflows/main-arm64.yml index 735a5d8..c6ac4d8 100644 --- a/.github/workflows/main-arm64.yml +++ b/.github/workflows/main-arm64.yml @@ -73,8 +73,10 @@ jobs: cp venvs/cu12/lib/python3.13/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/nccl/lib/libnccl.so* release-cu12/ mkdir runtime-cu12 cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ @@ -92,8 +94,10 @@ jobs: cp venvs/cu13/lib/python3.13/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/nccl/lib/libnccl.so* release-cu13/ mkdir runtime-cu13 cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ diff --git a/.github/workflows/main-x86_64.yml b/.github/workflows/main-x86_64.yml index b907b9e..535d4bd 100644 --- a/.github/workflows/main-x86_64.yml +++ b/.github/workflows/main-x86_64.yml @@ -73,8 +73,10 @@ jobs: cp venvs/cu12/lib/python3.13/site-packages/libraft_cu12.libs/libgomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbb-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libtbbmalloc-*.so* release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/libcuopt_cu12.libs/libomp-*.so* release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu12/ cp venvs/cu12/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu12/ + cp venvs/cu12/lib/python3.13/site-packages/nvidia/nccl/lib/libnccl.so* release-cu12/ mkdir runtime-cu12 cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss.so* runtime-cu12/ cp venvs/cu12/lib/python3.13/site-packages/nvidia/cu12/lib/libcudss_mtlayer_gomp.so* runtime-cu12/ @@ -92,8 +94,10 @@ jobs: cp venvs/cu13/lib/python3.13/site-packages/libraft_cu13.libs/libgomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbb-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libtbbmalloc-*.so* release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/libcuopt_cu13.libs/libomp-*.so* release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/rapids_logger/lib64/librapids_logger.so release-cu13/ cp venvs/cu13/lib/python3.13/site-packages/librmm/lib64/librmm.so release-cu13/ + cp venvs/cu13/lib/python3.13/site-packages/nvidia/nccl/lib/libnccl.so* release-cu13/ mkdir runtime-cu13 cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss.so* runtime-cu13/ cp venvs/cu13/lib/python3.13/site-packages/nvidia/cu13/lib/libcudss_mtlayer_gomp.so* runtime-cu13/ diff --git a/build-link.sh b/build-link.sh index d3e8bb8..7b515b5 100644 --- a/build-link.sh +++ b/build-link.sh @@ -50,6 +50,7 @@ cp "$CUOPT/lib64/libcuopt.so" "$GAMSDIST/" cp "$SITE_PACKAGES"/libraft_cu13.libs/libgomp-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbb-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libtbbmalloc-*.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libomp-*.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/rapids_logger/lib64/librapids_logger.so "$GAMSDIST/" cp "$SITE_PACKAGES"/librmm/lib64/librmm.so "$GAMSDIST/" cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcudss.so* "$GAMSDIST/" @@ -61,6 +62,7 @@ cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcurand.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusolver.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/nvidia/cu13/lib/libcusparse.so* "$GAMSDIST/" cp "$SITE_PACKAGES"/libcuopt_cu13.libs/libcares-*.so* "$GAMSDIST/" +cp "$SITE_PACKAGES"/nvidia/nccl/lib/libnccl.so* "$GAMSDIST/" # Copy assets (suppress errors if directory is empty or missing) cp -r assets/* "$GAMSDIST/" 2>/dev/null || true