Skip to content

Conversation

@mal84emma
Copy link

Changes proposed in this Pull Request

Add support for GPU-accelerated solver cuPDLPx

Note: due to the lower numerical precision of this solver, some of the equality assertions in the tests have been replaced with np.isclose
Also note: this solver does not support QP or MIP, and currently the file IO is not available through the Python API (will add when later versions support it)

Checklist

  • Code changes are sufficiently documented; i.e. new functions contain docstrings and further explanations may be given in doc.
  • Unit tests for new features were added (if applicable).
  • A note for the release notes doc/release_notes.rst of the upcoming release is included.
  • I consent to the release of this PR's code under the MIT license.

Copy link
Member

@fneum fneum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good!

The higher tolerances in this PR largely apply to all solvers. It could be an option to introduce a constant that sets the tolerance based on whether it's a GPU or CPU-based solver.

@mal84emma
Copy link
Author

Great point :) I've just added global variables to the tests that set the acceptable relative solution tolerances for CPU and GPU based solvers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants