Use MPI_Bcast instead of multiple p2p messages to update nest from parent#2059
Merged
zach1221 merged 34 commits intoJan 22, 2024
Merged
Conversation
added 18 commits
May 5, 2023 00:17
…pl by a single MPI_Bcast
…pl by a single MPI_Bcast
… structures associated with Bcast_comm
…epends on NOAA-GFDL/FMS#1246 to be functional. More efficient 'if' test in fill_nested_grid_cpl()
…weather-model into hafs-BcastFillNestedGridCpl Keeping pace with mainline
…fficient determination of ranks involved in the mpp_broadcast call in fill_nested_grid_cpl routine
6 tasks
Collaborator
Collaborator
|
@dkokron you'll want to make sure to pull from ufs-community/ufs-weather-model develop branch and then update your submodule hashes. This includes in your FV3 PR as well bring the updates into UFSWM. |
41 tasks
Collaborator
|
@dkokron I think branches got synced ok. Can you check files changed? |
Collaborator
|
Skipping WCOSS2 as it's down today. Will be back at 20Z if PR gets delayed past that. |
Collaborator
|
@dkokron @jkbk2004 fv3atm is merged. Please update hash and revert gitmodule url. |
BrianCurtis-NOAA
approved these changes
Jan 22, 2024
jkbk2004
approved these changes
Jan 22, 2024
sadeghitabas
approved these changes
Jan 22, 2024
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.
PR Author Checklist:
I have linked PR's from all sub-components involved in section below.
I am confirming reviews are completed in ALL sub-component PR's.
I have run the full RT suite on either Hera/Hercules AND have attached the log to this PR below this line:
RegressionTests_hercules.log
I have added the list of all failed regression tests to "Anticipated changes" section.
I have filled out all sections of the template.
Performance profiling of a HAFS case on NOAA systems revealed significant of time was spent in fill_nested_grid_cpl(). The fill_nested_grid_cpl() routine from FV3/atmos_cubed_sphere/driver/fvGFS/atmosphere.F90 is showing up as a performance bottleneck. This routine gathers a global SST field (6,336,000 bytes) onto rank 0, then broadcasts that field to all ranks in the nest. The code uses point-to-point (p2p) messages (Isend/Recv) from rank 0 to the nest ranks. This communication pattern is maxing out the SlingShot-10 link on the first node resulting in a .15s hit every fifth time step.
The proposed fix is to modify the relevant FV3 code to use a single MPI_Bcast (via mpp_broadcast()) instead of multiple point-to-point messages (via mpp_send/mpp_recv). The use of mpp_broadcast depends on a fix to FMS that was merged on 16 June and is available in version 2023.02 of that package.
This PR depends on
This PR also depends on
I ran the UFS regression suite on acorn and cactus. Both runs resulted in "REGRESSION TEST WAS SUCCESSFUL". I do not have access to Hera/Hercules.
This change is zero-diff. No need to update baselines.
Commit Message
Subcomponents involved:
Anticipated Changes
Input data
Regression Tests:
Tests effected by changes in this PR:
Libraries
Code Managers Log
Testing Log: