Consolidate our usage of `hypre`
Open
Nobody has claimed this yet.
EPIC
- Dominant language
- C++
- Stars
- 287
- Forks
- 109
- Avg merge
- 4d 41m
- Merged PRs (30d)
- 5
Description
What is the requested feature?
The GEOSX validation cases basically use no feature of hypre.
But it’s our key linear algebra backend when it comes to big simulations.
This must evolve in order to provide a more reliable environment to our researchers and end-users.
Describe the solution you'd like
Here are some actions; feel free to extend or modify the list.
- Update
geosxAts.
Most probably by using a submodule (or somepipequivalent or anything else) to https://github.com/LLNL/ATS .
This will prevent any further intertwining between our devs and the main framework. This will make future upgrades easier.
Done in https://github.com/GEOSX/GEOSX/pull/2265 - Build integrated cases that use
hypre. https://github.com/GEOS-DEV/GEOS/pull/4108- Majority of tests should have a direct solver variant, and an interactive solver variant.
- Build a policy (and tools) that validate results because the discrepancy of the result can be bigger than for direct solvers (due to the iterative nature of the
hypresolvers). https://github.com/GEOS-DEV/GEOS/pull/4108- Criteria for iterative solver variant should be less exhaustive, such as norm of primary variable and iteration count information?? @castelletto1 @CusiniM please expand.
- Build “big” cases to validate the scalability.
Can we rely on (semi) analytical cases?
Do we have to play them as part of the integrated tests? - Provide the
hypreteam with typical GEOSX validation matrix that could be directly embedded in the unit tests ofhypre. @francoishamon - Provide the
hypreteam with automatic checks to help improve the codebase ofhypre. - Create a repository containing our updated matrices, and get
hypretested against it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.