Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
chore: update trilinos, hypre and fmt. #3214
chore: update trilinos, hypre and fmt. #3214
Changes from 9 commits
cfd04a5
e437040
f6086d7
1f94377
bc7cf31
a26e01a
37e754f
78c90c9
c493ee7
4bf57c7
e2fde18
6366dfc
4309474
0f72220
877ce5e
1255c62
ec48f36
dafdf54
84f1137
a7d2f76
364fe68
51e2194
1232013
442daf8
92c1457
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this doesn't make sense to me? I read it as
"If we
GEOS_USE_HYPRE_DEVICE
is the same asGEOS_USE_HYPRE_CPU
then do something"...but should these ever be the same?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've seen a few test cases with GPUs where
threshold > 0
causes a crash in hypre, which does not seem straightforward to resolve. Sincethreshold > 0
works for CPUs, and for the sake of getting this new truncation functionality used in GEOS, I'm currently setting different threshold according to the architecture. After the GPU path in hypre is improved, I will change back thethreshold
parameter to the same default for CPUs and GPUs in GEOSThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these settings documented somewhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is some documentation via doxygen, see https://geosx-geosx.readthedocs-hosted.com/en/latest/doxygen_output/html/namespacegeos_1_1hypre.html#a05c6983a0ed8e068d0861c91767e83da
We've talked about adding a more detailed description on RTD. Should we re-prioritize that? cc @castelletto1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant to ask whether there is a discussion on the documentation regarding the strategy? So in this case, for
CompositionalMultiphaseFVM
there is a strategy that consists of:And is there an easily accessible explanation for all of these options, and why they go together in the
geos
documentation....or in thehypre
documentation? I suspect thehypre
documentation is more of an expert level documentation??There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There isn't an easily accessible explanation in neither documentations. I believe hypre's documentation is a better place for a detailed documentation, while in GEOS, we could provide an overview of these preconditioning techniques for each physics model, e.g., the strategy above resembles the commonly used CPR method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the effect of this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My guess is that the
gsElimWInverse
is not really scalable. Shouldn't we do block jacobi though? It's a block diagonal matrix so wouldn't block jacobi be exact?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should be doing block jacobi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, now I recall what's going on here...
Under the hood, hypre does block-Jacobi because of the interpolation choice
m_levelInterpType[0] = MGRInterpolationType::blockJacobi
. However, this logic is confusing (it shouldn't depend on the interpolation) and hypre should have a specific option for doing block-Jacobi F-relaxation.I can work on that.