Fix MPI synchronization in real.exe #1600
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.
TYPE: [bug fix]
KEYWORDS: real.exe, MPI, bug fix
SOURCE: Marc Honnorat (EXWEXs)
DESCRIPTION OF CHANGES:
Problem:
The communicator
mpi_comm_allcompute
, created by subroutinesplit_communicator
called byinit_modules(1)
,is not explicitly activated for the call to
wrf_dm_bcast_bytes( configbuf, nbytes )
in real.exe. On some platforms,this may prevent broadcast of namelist configuration (put in
configbuf
after the call toget_config_as_buffer()
)across the MPI processes before the call to
setup_physics_suite()
.An example of a problematic platform: a cluster of Intel Xeon E5-2650 v4 running on CentOS Linux release 7.6.1810,
with Intel Parallel Studio XE (various versions, including 2018u3 and 2020u4) and Intel MPI Library (same version).
Solution:
The initialization step used in the WRF executable never triggers a failure as described in issue #1267. This PR reuses
the temporary MPI context switch from WRF code.
ISSUE:
Fixes #1267
LIST OF MODIFIED FILES:
M main/real_em.F
TESTS CONDUCTED:
RELEASE NOTE: A fix for an MPI synchronization bug related to (not used) split communicators in the real program provides a solution to issue #1267. For users that have had no troubles with the real program running MPI, this will have no impact.