Skip to content
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

Merged
merged 5 commits into from
Aug 7, 2017

Conversation

jonbob
Copy link
Contributor

@jonbob jonbob commented Jul 11, 2017

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]

agsalin and others added 3 commits July 6, 2017 12:32
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.
Copy link
Contributor

@matthewhoffman matthewhoffman left a 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.

Copy link
Contributor

@philipwjones philipwjones left a 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.

@jonbob
Copy link
Contributor Author

jonbob commented Jul 12, 2017

Thanks @philipwjones - those were from the mpas-o commit, so I'll ask @mark-petersen to take a look

@mark-petersen
Copy link
Contributor

OK, I remerged that commit back in. @philipwjones please look at this MPAS commit:
https://github.com/mark-petersen/MPAS/tree/ocean/remove_omp_master_directives
Which is your old commit merged back in again:
https://github.com/mark-petersen/MPAS/commit/c09b5c7087fb6d78b81c6d0b5368e90022ab6f44
Does that look right?
@jonbob I updated the MPAS-O commit on this PR, so if @philipwjones agrees, then this is ready to be tested again.

@jonbob
Copy link
Contributor Author

jonbob commented Jul 13, 2017

Thanks @mark-petersen - I'm testing again on edison. But will also wait for @philipwjones review

@jonbob
Copy link
Contributor Author

jonbob commented Jul 13, 2017

The PET test still passes -- just waiting on a smoke test to make sure results are bob with previous master as well.

@jonbob
Copy link
Contributor Author

jonbob commented Jul 13, 2017

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

@rljacob rljacob added this to the v1.0beta2 milestone Jul 17, 2017
jonbob added a commit that referenced this pull request Jul 24, 2017
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]
@jonbob
Copy link
Contributor Author

jonbob commented Jul 24, 2017

merged to next

jonbob added a commit that referenced this pull request Jul 25, 2017
This reverts commit e410be4, reversing
changes made to 6207121.

Conflicts:
	cime/config/acme/machines/config_compilers.xml
@mark-petersen
Copy link
Contributor

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]
@matthewhoffman
Copy link
Contributor

@jonbob , I just pushed a new commit to fix the bugs in MPASLI.

@rljacob
Copy link
Member

rljacob commented Aug 3, 2017

@jonbob go ahead and put this back on next even if its "closed".

@matthewhoffman
Copy link
Contributor

(@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.)

@jonbob
Copy link
Contributor Author

jonbob commented Aug 3, 2017

Thanks @rljacob - on it

jonbob added a commit that referenced this pull request Aug 3, 2017
…#1630)""

This reverts commit 23080db.

Conflicts:
	cime/config/acme/machines/config_compilers.xml
jonbob added a commit that referenced this pull request Aug 3, 2017
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]
@jonbob
Copy link
Contributor Author

jonbob commented Aug 3, 2017

merged to next

@rljacob
Copy link
Member

rljacob commented Aug 5, 2017

This PR is still producing diffs on next (using the melvin results) for these tests:

SMS.f09_g16_a.IGCLM45_MLI.melvin_gnu
SMS.T62_oQU120_ais20.MPAS_LISIO_TEST.melvin_gnu
ERS.f09_g16_g.MPASLISIA.melvin_gnu

One test also has namelist diffs:
ERS_Ld5.T62_oQU120.CMPASO-NYF.melvin_gnu
BASE: config_write_output_on_startup = .true.
COMP: config_write_output_on_startup = .false.
Differences in namelist 'am_watermasscensus':
found extra variable: 'config_am_watermasscensus_compute_predefined_regions'
found extra variable: 'config_am_watermasscensus_region_group'

@jonbob jonbob added non-BFB PR makes roundoff changes to answers. and removed BFB PR leaves answers BFB labels Aug 5, 2017
@rljacob
Copy link
Member

rljacob commented Aug 7, 2017

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.

@jonbob
Copy link
Contributor Author

jonbob commented Aug 7, 2017

Thanks -- I'll get that handled right away

@jonbob
Copy link
Contributor Author

jonbob commented Aug 7, 2017

Do you want to wait for a clean testing of next, or should I merge to master now?

@rljacob
Copy link
Member

rljacob commented Aug 7, 2017

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.

@jonbob
Copy link
Contributor Author

jonbob commented Aug 7, 2017

Thanks

@jonbob jonbob merged commit c9b1e61 into master Aug 7, 2017
jonbob added a commit that referenced this pull request Aug 7, 2017
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]
@jonbob
Copy link
Contributor Author

jonbob commented Aug 7, 2017

merged to master

@ndkeen
Copy link
Contributor

ndkeen commented Aug 8, 2017

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.

@jonbob
Copy link
Contributor Author

jonbob commented Aug 8, 2017

That's excellent news -- thanks @ndkeen

@mark-petersen
Copy link
Contributor

Yes, thanks @ndkeen for the extra test. That is good to hear.

jgfouca pushed a commit that referenced this pull request Oct 25, 2017
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]
jgfouca pushed a commit that referenced this pull request Feb 27, 2018
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]
jgfouca pushed a commit that referenced this pull request Mar 14, 2018
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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants