From ca0ff3a7a3a7bbb0ba21ec2727e8d2cd9b7e308b Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Fri, 17 Oct 2025 13:37:39 -0500 Subject: [PATCH 1/2] add details --- docs/cuopt/source/lp-features.rst | 11 ++++++++++- docs/cuopt/source/lp-milp-settings.rst | 6 ++++++ docs/cuopt/source/system-requirements.rst | 8 ++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/cuopt/source/lp-features.rst b/docs/cuopt/source/lp-features.rst index fc450736b4..838bfe21de 100644 --- a/docs/cuopt/source/lp-features.rst +++ b/docs/cuopt/source/lp-features.rst @@ -68,12 +68,21 @@ Method **Concurrent**: The default method for solving linear programs. When concurrent is selected, cuOpt runs three algorithms in parallel: PDLP on the GPU, barrier (interior-point) on the GPU, and dual simplex on the CPU. A solution is returned from the algorithm that finishes first. -**PDLP**: Primal-Dual Hybrid Gradient for Linear Program is an algorithm for solving large-scale linear programming problems on the GPU. PDLP does not attempt any matrix factorizations during the course of the solve. Select this method if your LP is so large that factorization will not fit into memory. By default PDLP solves to low relative tolerance and the solutions it returns do not lie at a vertex of the feasible region. Enable crossover to obtain a highly accurate basic solution from a PDLP solution. +**PDLP**: Primal-Dual Hybrid Gradient for Linear Program is an algorithm for solving large-scale linear programming problems on the GPU. PDLP does not attempt any matrix factorizations during the course of the solve. Select this method if your LP is so large that factorization will not fit into memory. The solutions it returns do not lie at a vertex of the feasible region. Enable crossover to obtain a highly accurate basic solution from a PDLP solution. + +.. note:: + PDLP solves to 1e-4 relative accuracy by default. **Barrier**: The barrier method (also known as interior-point method) solves linear programs using a primal-dual predictor-corrector algorithm. This method uses GPU-accelerated sparse Cholesky and sparse LDLT solves via cuDSS, and GPU-accelerated sparse matrix-vector and matrix-matrix operations via cuSparse. Barrier is particularly effective for large-scale problems and can automatically apply techniques like folding, dualization, and dense column elimination to improve performance. This method solves the linear systems at each iteration using the augmented system or the normal equations (ADAT). Enable crossover to obtain a highly accurate basic solution from a barrier solution. +.. note:: + Barrier solves to 1e-8 relative accuracy by default. + **Dual Simplex**: Dual simplex is the simplex method applied to the dual of the linear program. Dual simplex requires the basis factorization of linear program fit into memory. Select this method if your LP is small to medium sized, or if you require a high-quality basic solution. +.. note:: + Dual Simplex solves to 1e-6 absolute accuracy by default. + Crossover --------- diff --git a/docs/cuopt/source/lp-milp-settings.rst b/docs/cuopt/source/lp-milp-settings.rst index d755d5a979..2b4fdf3f9f 100644 --- a/docs/cuopt/source/lp-milp-settings.rst +++ b/docs/cuopt/source/lp-milp-settings.rst @@ -87,6 +87,12 @@ Method .. note:: The default method is ``Concurrent``. +Default accuracy for each method: + +* PDLP solves to 1e-4 relative accuracy by default. +* Barrier solves to 1e-8 relative accuracy by default. +* Dual Simplex solves to 1e-6 absolute accuracy by default. + C API users should use the constants defined in :ref:`method-constants` for this parameter. Server Thin client users should use the :class:`cuopt_sh_client.SolverMethod` for this parameter. diff --git a/docs/cuopt/source/system-requirements.rst b/docs/cuopt/source/system-requirements.rst index 7ad7021943..8a6eb7d83e 100644 --- a/docs/cuopt/source/system-requirements.rst +++ b/docs/cuopt/source/system-requirements.rst @@ -26,7 +26,7 @@ Dependencies are installed automatically when using the pip and Conda installati - 12.0+ * Python: - - >= 3.10.* and <= 3.12.* + - >= 3.10.* and <= 3.13.* * NVIDIA drivers: - 525.60.13+ (Linux) @@ -68,9 +68,9 @@ Dependencies are installed automatically when using the pip and Conda installati - 100+ GB free space * CUDA: - - 12.9 + - 13.0 - * Latest NVIDIA drivers (570.42.01+) + * Latest NVIDIA drivers (580.65.06+) * OS: - Linux distributions with glibc>=2.28 (released in August 2018): @@ -98,4 +98,4 @@ Thin-client for Self-Hosted - x86-64 - ARM64 -* Python >= 3.10.x <= 3.12.x +* Python >= 3.10.x <= 3.13.x From 33fe99ceebe9ba5bb4e542766d0c59932a4e40b1 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Fri, 17 Oct 2025 13:40:49 -0500 Subject: [PATCH 2/2] revert few changes --- docs/cuopt/source/lp-features.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cuopt/source/lp-features.rst b/docs/cuopt/source/lp-features.rst index 838bfe21de..42c1e6db5f 100644 --- a/docs/cuopt/source/lp-features.rst +++ b/docs/cuopt/source/lp-features.rst @@ -68,7 +68,7 @@ Method **Concurrent**: The default method for solving linear programs. When concurrent is selected, cuOpt runs three algorithms in parallel: PDLP on the GPU, barrier (interior-point) on the GPU, and dual simplex on the CPU. A solution is returned from the algorithm that finishes first. -**PDLP**: Primal-Dual Hybrid Gradient for Linear Program is an algorithm for solving large-scale linear programming problems on the GPU. PDLP does not attempt any matrix factorizations during the course of the solve. Select this method if your LP is so large that factorization will not fit into memory. The solutions it returns do not lie at a vertex of the feasible region. Enable crossover to obtain a highly accurate basic solution from a PDLP solution. +**PDLP**: Primal-Dual Hybrid Gradient for Linear Program is an algorithm for solving large-scale linear programming problems on the GPU. PDLP does not attempt any matrix factorizations during the course of the solve. Select this method if your LP is so large that factorization will not fit into memory. By default PDLP solves to low relative tolerance and the solutions it returns do not lie at a vertex of the feasible region. Enable crossover to obtain a highly accurate basic solution from a PDLP solution. .. note:: PDLP solves to 1e-4 relative accuracy by default.