Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor CUSOLVER-LU module and interface #634

Merged
merged 26 commits into from
Jun 28, 2023
Merged

Conversation

pelesh
Copy link
Collaborator

@pelesh pelesh commented Jun 2, 2023

Refactor linear solver interface to what we referred to as CUSOLVER-LU. The solver itself is now implemented as a standalone library and renamed ReSolve as it will now have HIP backend, as well. Its cuSOLVER dependency will be optional going forward.

This PR has been verified using standard HiOp tests, as well as with ACOPF examples in ExaGO using 10k-, 25k- and 80k-bus grid models.

This PR implements changes that are needed before the interface that allows receiving data on host or device can be implemented (and temporary class hiopLinSolverSymSparseReSolveGPU can be removed).

Also, fixes #629.

@pelesh pelesh added solver options deals with options for the algorithm and solver device computations labels Jun 2, 2023
@pelesh pelesh self-assigned this Jun 2, 2023
@pelesh pelesh marked this pull request as draft June 2, 2023 04:15
@pelesh pelesh marked this pull request as ready for review June 5, 2023 00:46
@pelesh
Copy link
Collaborator Author

pelesh commented Jun 27, 2023

I changed names for inner IR options to be generic for any IR implementation. IR now print warning if it fails to converge, but it does not stop the execution.

@pelesh pelesh requested review from kswirydo and removed request for cameronrutherford June 28, 2023 00:42
@pelesh
Copy link
Collaborator Author

pelesh commented Jun 28, 2023

I reverted back to flat, user-set tolerance for "inner" iterative refinement. I believe all comments are addressed with this latest commit and the PR is ready for merge.

@cnpetra cnpetra merged commit dac8114 into develop Jun 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
device computations solver options deals with options for the algorithm and solver
Projects
None yet
Development

Successfully merging this pull request may close these issues.

hiopVectorCuda.hpp should not include hiop_cusolver_defs.hpp
4 participants