Adding asymmetric tests (from the data folder) for KLU, CuSolver, and RocSolver. #364
Adding asymmetric tests (from the data folder) for KLU, CuSolver, and RocSolver. #364shakedregev merged 52 commits intodevelopfrom
Conversation
c2541c4 to
9d5df32
Compare
|
Tests pass. Ready for review. |
resolve/SystemSolver.cpp
Outdated
| // status += iterativeSolver_->resetMatrix(A_); | ||
| std::cout << "Refining solution with iterative refinement ...\n"; |
There was a problem hiding this comment.
| // status += iterativeSolver_->resetMatrix(A_); | |
| std::cout << "Refining solution with iterative refinement ...\n"; | |
| status += iterativeSolver_->resetMatrix(A_); |
There was a problem hiding this comment.
Why is resetMatrix() function called here?
There was a problem hiding this comment.
This was for debugging and I missed removing it. Good catch.
shakedregev
left a comment
There was a problem hiding this comment.
Removed some straggling comments.
…#365) * Passing matrices and rhs to resolve_consumer. * Minor typo cuda-->hip
I believe the default tolerance for tests was set to |
pelesh
left a comment
There was a problem hiding this comment.
I would revert all changes to the iterative solver and keep the scope of this PR strictly to adding new tests. The iterative solvers issues considered here are important but I would address them outside this PR.
We cannot have iterative refinement tests passing and do as you suggest. When we solve systems too accurately with the direct solve, IR fails. Iterative solvers are combined with IR here. |
I addressed all relevant comments. In some cases my judgement lead me to keep things as they are.
2eaab1f to
40f90ac
Compare
|
We now consistently test with the ACTIVS200 series for the symmetric matrices. |
|
All tests passing on all platforms. |
nkoukpaizan
left a comment
There was a problem hiding this comment.
A few pieces of commented out code need to be removed before merging.
Tests pass on all platforms that I've tested. My only reservation is with changing the default value of conv_cond.
By the way, the orthogonalization assert when the solution is already accurate is only tripped when building in debug mode (likely chosen as default in CI).
| maxit_ = 100; // default | ||
| restart_ = 10; | ||
| conv_cond_ = 0; // default | ||
| conv_cond_ = 2; // default |
There was a problem hiding this comment.
Not necessary to address in this PR, but is there a rationale for setting member variable to their default values in constructors? I'd double check that it's truly the default and remove the setting of tol_, maxit_ and conv_cond.
Requests fixed, except for the default change which I believe is justified.
* fix some more memory leaks and add ubsan support to `CMakeLists.txt` (#320) * Fix bug in KLU class affecting non-symmetric linear systems (#323) * Update Spack and setup CI with asan and ubsan variants (#322) * Point Spack to upstream v0.23.1. * Update Frontier modules after Spack upgrade. * Frontier build with +asan+ubsan. * Temporarily point Spack to nkoukpaizan-fork to add asan and ubsan. * +asan+ubsan in GH Actions. * CMake targets for asan and ubsan. * ~asan~ubsan Spack builds on Frontier by default. * Try running CI tests within spack build-env to address the issue of the consumer test not finding the appropriate compiler. * Alias for spack environment in CI. * Revert "Alias for spack environment in CI." This reverts commit fd263ae. * Using `${OLDPWD}` to identify Spack environment. * Add warnings flags to CMake configuration. (#325) --------- Co-authored-by: pelesh <peless@ornl.gov> * fix the means by which cmake finds the suitesparse include dir (#327) * Fixed GLU to work on non-symmetric matrices. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Synchronize devices after HIP functions (#336) * synchronize devices after HIP functions * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerHip.cpp * fixed CUDA * fixed CUDA * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerCuda.cpp * Revert "Update resolve/matrix/MatrixHandlerCuda.cpp" This reverts commit 30e41bb. * Revert "Apply pre-commmit fixes" This reverts commit 0bcd8f7. * Revert "fixed CUDA" This reverts commit 62623fa. * Revert "fixed CUDA" This reverts commit b9b249b. --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Added the ability to reset a workspace without completely destroying it. (#343) * added method to reset workspace * changed tests * added reset workspace to CUDA * now with comments * Apply pre-commmit fixes * Update resolve/workspace/LinAlgWorkspaceCpu.cpp --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Enforce F being 0 and remove duplicate extract factors code * added check for F!=0 * enforce F being 0 and clean up factor extraction code duplication * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp * cleaned up comments * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Properly address CSR and CSC discrepancies across all solvers. Fixed discrepancies with minimal overhead. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> * Put sorting within KLU instead of within other solver logic. (#359) * Adding asymmetric tests (from the data folder) for KLU, CuSolver, and RocSolver. (#364) * tests that are supposed to pass are passing * fixed typos, removed unnecessary file * Apply pre-commmit fixes * renamed matrix files (not added before accidentally) * removed commented out code * fixed failing tests * Apply pre-commmit fixes * fixed commented out code * straggling comment * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * fixed data path for lusol * consumer * fixed typo * changing to sys refactor, which requires a path * Fix for resolve_consumer to take in the matrices and right hand sides (#365) * Passing matrices and rhs to resolve_consumer. * Minor typo cuda-->hip * adding generic test matrices * modified numbering to suffix * tests failing with well conditioned matrix * updating to better conditioned matrices * SPD test passes consistently, others don't * still testing * changed matrices * updated matrices * changed test mats * changed matrices * symmetric test passing, asymmetric passing when run separately, but not through make test * changed matrices * changed tolerance to machine precision, tests pass! * Apply pre-commmit fixes * updated consumer * fixed non IR related comments * removed IR check, it passes with IR with the better scaled matrices * Apply pre-commmit fixes * Update tests/functionality/CMakeLists.txt * tests passing * Apply pre-commmit fixes * fixed prints * set convergence conditions * setting convergence condition, but it's overridden * set default to relative residual * added default conv_cond * Apply pre-commmit fixes * Update examples/resolve_consumer/CMakeLists.txt * addressed comment * reverted change that made CI test not pass * made matrices consistent, tolerance too stringent * tests passing, renamed files to be consistent * addressed all comments, only tested on Frontier * addressed comments * removed straggling print --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> * Shaked/rework examples csr (#367) * fixed examples * kalmarek example * moved to experimental, kalmarek example works * removed commented code * Apply pre-commmit fixes * Update examples/experimental/CMakeLists.txt * addressed change requests * changed cmake --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fixed experimental examples to use CSR only. * removed unnecessary Csc reference from examples * removed build files * fixed segfault * fixed glu update * fixed all experimental examples * somehow this segmentation fault fix didn't save * fixed fgmres * Apply pre-commmit fixes * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fix warning on r_KLU_rocsolverrf_asym6x6 * Fix warning on r_KLU_rocsolverrf_asym6x6. --------- Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Removed all CSC code from CSR solvers. (#375) * removed all CSC code * Apply pre-commmit fixes * Update tests/functionality/testRefactor.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Removed rocSparse "fast" solver from our options (#377) Removed all "fast" solver code. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Updated changelog and PR template (#381) * Update emails in README.md * Add code of conduct. * Move code of conduct. * Add badges * Change action name to CPU Tests * Update README.md * Add logo to the README file. * Add logo to readthedocs. * Manage images for light/dark schemes in README. * Add logo to Doxygen docs. * Fix path to logo in Doxygen. * Update logos * Add svg logo images. * Update README.md * Update doxygen landing page. * Monor changes to Doxygen landing page * Updated coding and developer guidelines (#242) Added details about implicit coding guidelines that were not specified. Added suggested branching workflow. Added PR reviewing and opening and issue guidelines. Fixed typos Restructured documentation sections Co-authored-by: pelesh <peless@ornl.gov> * Update readthedocs links in README.md Updated links in README to pint to readthedocs pages generated from `frontmatter-dev` branch. This needs to be reverted before merging. * documentation clarification (#267) * fixing typos * fixed typos * Restructured documentation files (#299) --------- Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: Slaven Peles <peless@ornl.gov> * Apply pre-commmit fixes * Use Re::Solve instead of ReSolve and update Doxygen logo. * Simplify doxygen stylesheet, allow dark mode * [skip ci] Revert sidebar-only mode. * [skip ci] Another shot on sidebar only doxy theme * ReSolve -> Re::Solve * Apply pre-commmit fixes * Copy Doxyfile.in -> Doxyfile and then modify. * updated contributors * straggling changes * Use correct Doxyfile * Undo doxyfile template changes * rebased frontmatter-dev --------- Co-authored-by: superwhiskers <whiskerdev@protonmail.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: pelesh <pelesh@users.noreply.github.com>
* fix some more memory leaks and add ubsan support to `CMakeLists.txt` (#320) * Fix bug in KLU class affecting non-symmetric linear systems (#323) * Update Spack and setup CI with asan and ubsan variants (#322) * Point Spack to upstream v0.23.1. * Update Frontier modules after Spack upgrade. * Frontier build with +asan+ubsan. * Temporarily point Spack to nkoukpaizan-fork to add asan and ubsan. * +asan+ubsan in GH Actions. * CMake targets for asan and ubsan. * ~asan~ubsan Spack builds on Frontier by default. * Try running CI tests within spack build-env to address the issue of the consumer test not finding the appropriate compiler. * Alias for spack environment in CI. * Revert "Alias for spack environment in CI." This reverts commit fd263ae. * Using `${OLDPWD}` to identify Spack environment. * Add warnings flags to CMake configuration. (#325) --------- Co-authored-by: pelesh <peless@ornl.gov> * fix the means by which cmake finds the suitesparse include dir (#327) * Fixed GLU to work on non-symmetric matrices. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Synchronize devices after HIP functions (#336) * synchronize devices after HIP functions * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerHip.cpp * fixed CUDA * fixed CUDA * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerCuda.cpp * Revert "Update resolve/matrix/MatrixHandlerCuda.cpp" This reverts commit 30e41bb. * Revert "Apply pre-commmit fixes" This reverts commit 0bcd8f7. * Revert "fixed CUDA" This reverts commit 62623fa. * Revert "fixed CUDA" This reverts commit b9b249b. --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Added the ability to reset a workspace without completely destroying it. (#343) * added method to reset workspace * changed tests * added reset workspace to CUDA * now with comments * Apply pre-commmit fixes * Update resolve/workspace/LinAlgWorkspaceCpu.cpp --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Enforce F being 0 and remove duplicate extract factors code * added check for F!=0 * enforce F being 0 and clean up factor extraction code duplication * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp * cleaned up comments * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Properly address CSR and CSC discrepancies across all solvers. Fixed discrepancies with minimal overhead. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> * Put sorting within KLU instead of within other solver logic. (#359) * Adding asymmetric tests (from the data folder) for KLU, CuSolver, and RocSolver. (#364) * tests that are supposed to pass are passing * fixed typos, removed unnecessary file * Apply pre-commmit fixes * renamed matrix files (not added before accidentally) * removed commented out code * fixed failing tests * Apply pre-commmit fixes * fixed commented out code * straggling comment * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * fixed data path for lusol * consumer * fixed typo * changing to sys refactor, which requires a path * Fix for resolve_consumer to take in the matrices and right hand sides (#365) * Passing matrices and rhs to resolve_consumer. * Minor typo cuda-->hip * adding generic test matrices * modified numbering to suffix * tests failing with well conditioned matrix * updating to better conditioned matrices * SPD test passes consistently, others don't * still testing * changed matrices * updated matrices * changed test mats * changed matrices * symmetric test passing, asymmetric passing when run separately, but not through make test * changed matrices * changed tolerance to machine precision, tests pass! * Apply pre-commmit fixes * updated consumer * fixed non IR related comments * removed IR check, it passes with IR with the better scaled matrices * Apply pre-commmit fixes * Update tests/functionality/CMakeLists.txt * tests passing * Apply pre-commmit fixes * fixed prints * set convergence conditions * setting convergence condition, but it's overridden * set default to relative residual * added default conv_cond * Apply pre-commmit fixes * Update examples/resolve_consumer/CMakeLists.txt * addressed comment * reverted change that made CI test not pass * made matrices consistent, tolerance too stringent * tests passing, renamed files to be consistent * addressed all comments, only tested on Frontier * addressed comments * removed straggling print --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> * Shaked/rework examples csr (#367) * fixed examples * kalmarek example * moved to experimental, kalmarek example works * removed commented code * Apply pre-commmit fixes * Update examples/experimental/CMakeLists.txt * addressed change requests * changed cmake --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fixed experimental examples to use CSR only. * removed unnecessary Csc reference from examples * removed build files * fixed segfault * fixed glu update * fixed all experimental examples * somehow this segmentation fault fix didn't save * fixed fgmres * Apply pre-commmit fixes * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fix warning on r_KLU_rocsolverrf_asym6x6 * Fix warning on r_KLU_rocsolverrf_asym6x6. --------- Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Removed all CSC code from CSR solvers. (#375) * removed all CSC code * Apply pre-commmit fixes * Update tests/functionality/testRefactor.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Removed rocSparse "fast" solver from our options (#377) Removed all "fast" solver code. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Updated changelog and PR template (#381) * Update emails in README.md * Add code of conduct. * Move code of conduct. * Add badges * Change action name to CPU Tests * Update README.md * Add logo to the README file. * Add logo to readthedocs. * Manage images for light/dark schemes in README. * Add logo to Doxygen docs. * Fix path to logo in Doxygen. * Update logos * Add svg logo images. * Update README.md * Update doxygen landing page. * Monor changes to Doxygen landing page * Updated coding and developer guidelines (#242) Added details about implicit coding guidelines that were not specified. Added suggested branching workflow. Added PR reviewing and opening and issue guidelines. Fixed typos Restructured documentation sections Co-authored-by: pelesh <peless@ornl.gov> * Update readthedocs links in README.md Updated links in README to pint to readthedocs pages generated from `frontmatter-dev` branch. This needs to be reverted before merging. * documentation clarification (#267) * fixing typos * fixed typos * Restructured documentation files (#299) --------- Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: Slaven Peles <peless@ornl.gov> * Apply pre-commmit fixes * Use Re::Solve instead of ReSolve and update Doxygen logo. * Simplify doxygen stylesheet, allow dark mode * [skip ci] Revert sidebar-only mode. * [skip ci] Another shot on sidebar only doxy theme * ReSolve -> Re::Solve * Apply pre-commmit fixes * Copy Doxyfile.in -> Doxyfile and then modify. * updated contributors * straggling changes * Use correct Doxyfile * Undo doxyfile template changes * rebased frontmatter-dev --------- Co-authored-by: superwhiskers <whiskerdev@protonmail.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: pelesh <pelesh@users.noreply.github.com>
* fix some more memory leaks and add ubsan support to `CMakeLists.txt` (#320) * Fix bug in KLU class affecting non-symmetric linear systems (#323) * Update Spack and setup CI with asan and ubsan variants (#322) * Point Spack to upstream v0.23.1. * Update Frontier modules after Spack upgrade. * Frontier build with +asan+ubsan. * Temporarily point Spack to nkoukpaizan-fork to add asan and ubsan. * +asan+ubsan in GH Actions. * CMake targets for asan and ubsan. * ~asan~ubsan Spack builds on Frontier by default. * Try running CI tests within spack build-env to address the issue of the consumer test not finding the appropriate compiler. * Alias for spack environment in CI. * Revert "Alias for spack environment in CI." This reverts commit fd263ae. * Using `${OLDPWD}` to identify Spack environment. * Add warnings flags to CMake configuration. (#325) --------- Co-authored-by: pelesh <peless@ornl.gov> * fix the means by which cmake finds the suitesparse include dir (#327) * Fixed GLU to work on non-symmetric matrices. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Synchronize devices after HIP functions (#336) * synchronize devices after HIP functions * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerHip.cpp * fixed CUDA * fixed CUDA * Apply pre-commmit fixes * Update resolve/matrix/MatrixHandlerCuda.cpp * Revert "Update resolve/matrix/MatrixHandlerCuda.cpp" This reverts commit 30e41bb. * Revert "Apply pre-commmit fixes" This reverts commit 0bcd8f7. * Revert "fixed CUDA" This reverts commit 62623fa. * Revert "fixed CUDA" This reverts commit b9b249b. --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Added the ability to reset a workspace without completely destroying it. (#343) * added method to reset workspace * changed tests * added reset workspace to CUDA * now with comments * Apply pre-commmit fixes * Update resolve/workspace/LinAlgWorkspaceCpu.cpp --------- Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Enforce F being 0 and remove duplicate extract factors code * added check for F!=0 * enforce F being 0 and clean up factor extraction code duplication * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp * cleaned up comments * Apply pre-commmit fixes * Update resolve/LinSolverDirectKLU.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Properly address CSR and CSC discrepancies across all solvers. Fixed discrepancies with minimal overhead. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> * Put sorting within KLU instead of within other solver logic. (#359) * Adding asymmetric tests (from the data folder) for KLU, CuSolver, and RocSolver. (#364) * tests that are supposed to pass are passing * fixed typos, removed unnecessary file * Apply pre-commmit fixes * renamed matrix files (not added before accidentally) * removed commented out code * fixed failing tests * Apply pre-commmit fixes * fixed commented out code * straggling comment * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * Update tests/functionality/CMakeLists.txt * fixed data path for lusol * consumer * fixed typo * changing to sys refactor, which requires a path * Fix for resolve_consumer to take in the matrices and right hand sides (#365) * Passing matrices and rhs to resolve_consumer. * Minor typo cuda-->hip * adding generic test matrices * modified numbering to suffix * tests failing with well conditioned matrix * updating to better conditioned matrices * SPD test passes consistently, others don't * still testing * changed matrices * updated matrices * changed test mats * changed matrices * symmetric test passing, asymmetric passing when run separately, but not through make test * changed matrices * changed tolerance to machine precision, tests pass! * Apply pre-commmit fixes * updated consumer * fixed non IR related comments * removed IR check, it passes with IR with the better scaled matrices * Apply pre-commmit fixes * Update tests/functionality/CMakeLists.txt * tests passing * Apply pre-commmit fixes * fixed prints * set convergence conditions * setting convergence condition, but it's overridden * set default to relative residual * added default conv_cond * Apply pre-commmit fixes * Update examples/resolve_consumer/CMakeLists.txt * addressed comment * reverted change that made CI test not pass * made matrices consistent, tolerance too stringent * tests passing, renamed files to be consistent * addressed all comments, only tested on Frontier * addressed comments * removed straggling print --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> * Shaked/rework examples csr (#367) * fixed examples * kalmarek example * moved to experimental, kalmarek example works * removed commented code * Apply pre-commmit fixes * Update examples/experimental/CMakeLists.txt * addressed change requests * changed cmake --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fixed experimental examples to use CSR only. * removed unnecessary Csc reference from examples * removed build files * fixed segfault * fixed glu update * fixed all experimental examples * somehow this segmentation fault fix didn't save * fixed fgmres * Apply pre-commmit fixes * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp * Update examples/experimental/r_KLU_cusolverrf_redo_factorization.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Fix warning on r_KLU_rocsolverrf_asym6x6 * Fix warning on r_KLU_rocsolverrf_asym6x6. --------- Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Removed all CSC code from CSR solvers. (#375) * removed all CSC code * Apply pre-commmit fixes * Update tests/functionality/testRefactor.cpp --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Removed rocSparse "fast" solver from our options (#377) Removed all "fast" solver code. --------- Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Updated changelog and PR template (#381) * Update emails in README.md * Add code of conduct. * Move code of conduct. * Add badges * Change action name to CPU Tests * Update README.md * Add logo to the README file. * Add logo to readthedocs. * Manage images for light/dark schemes in README. * Add logo to Doxygen docs. * Fix path to logo in Doxygen. * Update logos * Add svg logo images. * Update README.md * Update doxygen landing page. * Monor changes to Doxygen landing page * Updated coding and developer guidelines (#242) Added details about implicit coding guidelines that were not specified. Added suggested branching workflow. Added PR reviewing and opening and issue guidelines. Fixed typos Restructured documentation sections Co-authored-by: pelesh <peless@ornl.gov> * Update readthedocs links in README.md Updated links in README to pint to readthedocs pages generated from `frontmatter-dev` branch. This needs to be reverted before merging. * documentation clarification (#267) * fixing typos * fixed typos * Restructured documentation files (#299) --------- Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: Slaven Peles <peless@ornl.gov> * Apply pre-commmit fixes * Use Re::Solve instead of ReSolve and update Doxygen logo. * Simplify doxygen stylesheet, allow dark mode * [skip ci] Revert sidebar-only mode. * [skip ci] Another shot on sidebar only doxy theme * ReSolve -> Re::Solve * Apply pre-commmit fixes * Copy Doxyfile.in -> Doxyfile and then modify. * updated contributors * straggling changes * Use correct Doxyfile * Undo doxyfile template changes * rebased frontmatter-dev --------- Co-authored-by: superwhiskers <whiskerdev@protonmail.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> Co-authored-by: pelesh <peless@ornl.gov> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Shaked Regev <shakedvregev@gmail.comregev@gmail.com> Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com> Co-authored-by: Adham Ibrahim <37982706+adham-ibrahim7@users.noreply.github.com> Co-authored-by: pelesh <pelesh@users.noreply.github.com>
Description
Right now the code is messy and does not include asymmetric matrices in all tests. The tests are not standardized. Some test Activs200, some Activs2000. I standardized all tests and made sure each solver is tested on Activs2000 and Microgrid with 2000 IBRs. These matrices are small enough to not burden storage, but large enough to stress test the solvers.
Closes #361
Necessary to addresses #357.
Proposed changes
I added asymmetric tests and made configuration through the CLI options. I disabled iterative refinement in cases where the solution is already accurate to machine precision, to avoid deteriorating it, or hitting norm 0 vectors.
Checklist
Put an
xin the boxes that apply. You can also fill these out after creatingthe PR. If you're unsure about any of them, don't hesitate to ask. We're here
to help! This is simply a reminder of what we are going to look for before
merging your code.
-Wall -Wpedantic -Wconversion -Wextra.