Add proxy tests for MFEM integration#1994
Open
nbeams wants to merge 2 commits into
Open
Conversation
Member
|
for update criterion, we have the corresponding test in the |
aaeff43 to
adc56ae
Compare
Collaborator
Author
|
I tried adding a new test in core/test/solver/cg.cpp for the way we use |
adc56ae to
c98f1b3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds two new solver tests that rely on wrapper classes meant to simulate the ones used for the Ginkgo integration in MFEM, to hopefully catch if a proposed Ginkgo change would break the integration with MFEM (or any other library that uses a similar integration approach).
For the purposes of these tests, the wrapped vector type is the Ginkgo
MultiVector, since it is a non-Densetype that has the functionality needed from the wrapped type (namely, scale/add and understanding of handling device or host data). In order to handle all the scenarios in the test suite, these proxy wrapper classes have a few notable differences from the actual MFEM wrappers: the wrappers here have a 2D size and understanding of stride (MFEM Vectors do not), and the OperatorWrapper has to be able to handle mixed precision application.Besides the wrapper classes, the MFEM integration relies on being able to change factory parameters with code like
in order to update the relative tolerance, maximum iterations, etc. I'm not sure if this needs a specific test (or is maybe already covered by a test?).