Firedrake ensemble fix #528
Merged
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.
After some changes to Gusto, some strange deadlocks have started to appear in the pySDC tests.
In the Gusto changes, a debug output showing the max/min values of some fields was added, which I presume requires communication across space. Removing this debug information is sufficient to get these tests to pass again.
In order to make sure the space-parallelism is set up correctly, I changed the MPI tests to always use four tasks and distribute them to do space-only, time-only, or space-time parallelism. All of these tests pass without the debug output.
This is definitely some fishy business. Do you know if the debug output works in Gusto without pySDC, @jshipton @tommbendall? If I add
return Noneafter this line, the pySDC tests pass with debug level output in Gusto, so I am pretty confident it is related to the remainder of this function.Btw, I had some issues in freeing communicators at the end of the script on my laptop, so I added the
Freefunction to the Firedrake ensemble communicator wrapper. This should not make a large difference in practice.