-
Notifications
You must be signed in to change notification settings - Fork 383
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
Update MPAS components and framework, bring in threading optimizations #1630
Conversation
A new MPAS Landice tag, to be pulled into ACME in the next few weeks, will have an updated interface to Albany/FELIX. I have started to upgrade the Albany installation on targeted machines. In this commit, we update the path in the ALBANY_PATH variable in config_compiler.xml for some machines. This makes that change for redsky/chama, edison, and sandia-srn-sems machines. ToDo: install new albany on Mira, Titan, Anvil, and other machines. The hope is that the test MPASLIALB in acme_integration will pass with this change on these machines when done in concert with the MPAS Landice update.
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.
@jonbob , I visually looked over the changes, and they all look good to me - I don't see anything amiss. I did not do any actual testing.
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.
the threading PR appears to be missing two mods:
in mpas_ocn_time_integration_rk4.F: remove the omp master directives around the vector reconstruct - the biggest change in this mod is a threaded reconstruction so these master directives are disabling the threaded reconstruction
in maps_ocn_diagnostics.F: similarly, the omp sections directives around various reconstructs should also be removed for similar reasons
Not sure how these got dropped. All other mods looked consistent with what I tested previously. Suspect it's still ok to merge since rk4 is never used in ACME and the other will likely do no harm. But would prefer they be fixed now. Thx.
Thanks @philipwjones - those were from the mpas-o commit, so I'll ask @mark-petersen to take a look |
OK, I remerged that commit back in. @philipwjones please look at this MPAS commit: |
Thanks @mark-petersen - I'm testing again on edison. But will also wait for @philipwjones review |
The PET test still passes -- just waiting on a smoke test to make sure results are bob with previous master as well. |
OK, the smoke test on edison also completed and passed the compare with the same run on master. I'll work on getting this into the repo |
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan [BFB]
merged to next |
Just FYI for all, this PR used a new process for testing the MPAS-O submodule. Normally, we test an MPAS-O commit and merge to MPAS-Dev repo, ocean/develop branch and mirror it to ACME-Climate repo, ocean/develop branch. Those branches are both considered permanent. The problem is, if there are any issues in the ACME PR testing due to MPAS-O, it is then inconvenient to modify the MPAS-O commits. For this PR, we instead pushed a test branch of MPAS-O to the ACME-Climate repo (https://github.com/ACME-Climate/MPAS/tree/acme/mark-petersen/ocean_develop_test_branch_170622) and test this ACME PR with that submodule commit. After this PR has been merged into ACME, I will push the test branch to the head of the MPAS-Dev/ocean/develop repo. Alternately, I could merge it into MPAS-Dev/ocean/develop if there have been other recent merges. The important thing is that the specific commit that the ACME submodule points to remains in the permanent repository. A bit of git acrobatics. Thanks to @matthewhoffman for discussing this process. |
The previous update of MPASLI in this branch brought in changes that were not BFB for the configuration used in ACME. In fixing that bug, I also discovered that the configuration in ACME was not bit-reproducible. So this update also fixes that bug. However, that fix makes this update answer-changing. Differences are small, and the new results are identical across different processor counts. I also update the namelist option to force the Albany mesh to be rebuilt on every time step. This is needed to allow Albany runs to be BFB-restartable until a fix in Albany is brought into ACME. [Non-BFB]
@jonbob , I just pushed a new commit to fix the bugs in MPASLI. |
@jonbob go ahead and put this back on next even if its "closed". |
(@jonbob , we'll have to remember to revert the revert before re-merging, as I explained on the ACME integrators' guide last time we were in this situation.) |
Thanks @rljacob - on it |
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan Note: this commit is answer-changing only for compsets with MPASLI [non-BFB]
merged to next |
This PR is still producing diffs on next (using the melvin results) for these tests: SMS.f09_g16_a.IGCLM45_MLI.melvin_gnu One test also has namelist diffs: |
I see that the description was updated to note that MPASLI cases are non-BFB and acme_developer testing confirmed that. This can go ahead to master. |
Thanks -- I'll get that handled right away |
Do you want to wait for a clean testing of next, or should I merge to master now? |
merge now. Have no idea when we'll get a clean run of integration on next. If there's unseen problems, integration testing on master will catch it. |
Thanks |
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan Note: this commit is answer-changing only for compsets with MPASLI [non-BFB]
merged to master |
fwiw, I checked this out yesterday and ran a high res G case on cori-knl with 1 and 2 threads per MPI. I don't have numbers from the same experiment before the change (can get that). Just wanted to check that there were no obvious issues when trying it with 2 threads. |
That's excellent news -- thanks @ndkeen |
Yes, thanks @ndkeen for the extra test. That is good to hear. |
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan Note: this commit is answer-changing only for compsets with MPASLI [non-BFB]
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan Note: this commit is answer-changing only for compsets with MPASLI [non-BFB]
Update MPAS components and framework, bring in threading optimizations This PR updates all MPAS submodules and framework, including: * bfb framework threading optimization from Abhinov MPAS#1237; * bfb mpas-o threading optimization from Abhinov MPAS#1235; * update path to new Albany install (cherry-picked from branch agsalin/machines/AlbanyNewInstall); * various framework and component updates. Tested with: * PET_Ln9.T62_oEC60to30v3.GMPAS-NYF.edison_intel * SMS.T62_oEC60to30v3.GMPAS-IAF.edison_intel (bfb with current master) * PET.T62_oEC60to30v3.GMPAS-NYF.titan Note: this commit is answer-changing only for compsets with MPASLI [non-BFB]
This PR updates all MPAS submodules and framework, including:
Tested with:
Note: this commit is answer-changing only for compsets with MPASLI
[non-BFB]