-
Notifications
You must be signed in to change notification settings - Fork 383
Adds support for lib vs lib64 #592
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
Adds support for lib vs lib64 #592
Conversation
|
Note, sets cc @xylar |
|
@pwolfram it seems worrisome to have only one configuration with USE_PIO2=true, it may cause unexpected issues for other users. We should make sure the broader team is on board with that change. |
|
looking closer it seems you are adding a new configuration right? Then I'm fine with the PIO2 change. Disregard the previous comment |
|
Yes, @vanroekel, only specifying it for that specific build, not general for everyone. |
|
ps @vanroekel , please leave a review. |
|
sure @pwolfram will test this stack in the advection convergence test case and chime in after |
|
The new
Regarding the hard-wiring of Regarding the Intel-specific compiler wrappers, my general concern is that we're setting a precedent that will support the proliferation of build targets to support every possible variation in build environment. I'm open to arguments in favor of the |
|
@pwolfram note that following the comment from @mgduda I tried building on grizzly with your stack and with This did fail. However, if I did first then the model built fine without the new configuration. I would suggest we remove intel-mpi and just add the export line to our individual scripts to load modules on grizzly. |
|
note the solution for building was found here -- https://stackoverflow.com/questions/32335519/gfortran-is-called-instead-of-mpif90 |
|
The general version of it from https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/288354 is |
a4c6a7f to
02bd597
Compare
|
In sum, consensus is I should remove the and build with
|
xylar
left a comment
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.
@pwolfram, thanks for this work! I cherry-picked this commit and tested the nightly and land-ice regression suites with it. I also verified with ldd that the expected netcdf, netcdff and pnetcdf libraries were being used (which was, indeed, not the base for ocean/develop).
I look forward to finally switching over to PIO2 because of this work!
I would recommend two changes:
- Maybe edit the commit message so the title is more similar to the title of the PR.
- Please also update the PR description to reflect the removal of
intel-mpifrom the Makefile.
02bd597 to
07ff9fe
Compare
|
Thanks @xylar! Everyone, changes made and PR ready to move forward with other review acceptances. |
mark-petersen
left a comment
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.
@pwolfram thank you for this. I tested on grizzly with gnu, intel17, and intel19 stacks, and all compile and complete nightly regression suite. This is a great help!
|
@mgduda, any further comments? The PR now only points to lib or lib64, whichever is available. @matthewhoffman any comments? |
mgduda
left a comment
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.
In my opinion, it would be good to remove the discussion of the "grizzly stack" from the commit message and from the first comment on the PR, which we use for the merge commit message by convention. It seems unlikely that anyone outside of LANL will know what "grizzly" refers to, let alone be able to load the modules mentioned in that part of the message.
It's important to bear in mind that the MPAS component models have a substantial user base outside of DoE, and we should try to ensure that our commit messages will be meaningful to that larger community.
What I think the commit/merge message should focus on is the extension of the library search paths for the netCDF and parallel-netCDF libraries from just lib to lib or lib64.
The branch name updates_make_intel_stack isn't really appropriate anymore for this PR; but since GitHub doesn't allow for changes to the branch in a PR, leaving the creation of a new PR as the only alternative, I won't insist on a change there.
07ff9fe to
f069d32
Compare
|
@mgduda, removed
from PR descriptions and commit messages as requested. |
|
@pwolfram Thanks for the updates to the PR description. It's not clear to me how the changes are related to |
This generalizes library searches to include both `lib` and `lib64` for the `netCDF` and `parallel-netCDF` libraries where `lib64` takes precedence. This is needed to ensure proper compilation when using the `PIO2` library.
f069d32 to
e1fc941
Compare
|
Thanks @mgduda, please see updated descriptions following your feedback. |
mgduda
left a comment
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.
@pwolfram Thanks very much for the updates to the commit/merge message! This looks good to me.
|
@pwolfram thanks for your work on this. |
#3737) Update MPAS framework This PR brings in a new mpas-source submodule with updates to the mpas framework itself, plus changes to the cores supporting the framework update. Some changes are made to the atmosphere core, even though it is not used by E3SM, in order to maintain consistency with the framework. This update includes the following individual branches and PRs, many of which are additions to the makefiles for summit, or optional libraries: * az/azamat/mpas-cmake/mpas-tool-dir (MPAS-Dev/MPAS-Model#629) * init_atmosphere/kd_tree_ties (MPAS-Dev/MPAS-Model#630) * mark-petersen/framework/add_FillValue (MPAS-Dev/MPAS-Model#616) * mark-petersen/framework/add_lapack_option (MPAS-Dev/MPAS-Model#613) * amametjanov/framework/nullify-field-pointers (MPAS-Dev/MPAS-Model#578) * framework/makefile_e3sm (MPAS-Dev/MPAS-Model#603) * xylar/framework/make_shell_bash (MPAS-Dev/MPAS-Model#594) * registry/missing_value (MPAS-Dev/MPAS-Model#562) * pwolfram/updates_make_intel_stack (MPAS-Dev/MPAS-Model#592) * azamat/framework/pgi-cpr-omp-workaround (MPAS-Dev/MPAS-Model#449) * az/framework/e3sm-cmake-qnosmp-typo (MPAS-Dev/MPAS-Model#579) * xylar/compass/add_prerequisite_tag * atmosphere/fix_timekeeping_imports (MPAS-Dev/MPAS-Model#582) * xylar/fix_docs_ci (MPAS-Dev/MPAS-Model#575) * xylar/add_compass_docs (MPAS-Dev/MPAS-Model#472) * philipwjones/framework/summitmake (MPAS-Dev/MPAS-Model#536) * atmosphere/atm_core_cleanup (MPAS-Dev/MPAS-Model#548) * init_atmosphere/parse_geoindex (MPAS-Dev/MPAS-Model#459) * xylar/compass/add_copy_file (MPAS-Dev/MPAS-Model#467) * init_atmosphere/kd_tree (MPAS-Dev/MPAS-Model#438) * init_atmosphere/mpas_stack (MPAS-Dev/MPAS-Model#426) * operators/add_mpas_in_cell (MPAS-Dev/MPAS-Model#400) Fixes #3396 Fixes #3236 [BFB]
Update MPAS framework This PR brings in a new mpas-source submodule with updates to the mpas framework itself, plus changes to the cores supporting the framework update. Some changes are made to the atmosphere core, even though it is not used by E3SM, in order to maintain consistency with the framework. This update includes the following individual branches and PRs, many of which are additions to the makefiles for summit, or optional libraries: * az/azamat/mpas-cmake/mpas-tool-dir (MPAS-Dev/MPAS-Model#629) * init_atmosphere/kd_tree_ties (MPAS-Dev/MPAS-Model#630) * mark-petersen/framework/add_FillValue (MPAS-Dev/MPAS-Model#616) * mark-petersen/framework/add_lapack_option (MPAS-Dev/MPAS-Model#613) * amametjanov/framework/nullify-field-pointers (MPAS-Dev/MPAS-Model#578) * framework/makefile_e3sm (MPAS-Dev/MPAS-Model#603) * xylar/framework/make_shell_bash (MPAS-Dev/MPAS-Model#594) * registry/missing_value (MPAS-Dev/MPAS-Model#562) * pwolfram/updates_make_intel_stack (MPAS-Dev/MPAS-Model#592) * azamat/framework/pgi-cpr-omp-workaround (MPAS-Dev/MPAS-Model#449) * az/framework/e3sm-cmake-qnosmp-typo (MPAS-Dev/MPAS-Model#579) * xylar/compass/add_prerequisite_tag * atmosphere/fix_timekeeping_imports (MPAS-Dev/MPAS-Model#582) * xylar/fix_docs_ci (MPAS-Dev/MPAS-Model#575) * xylar/add_compass_docs (MPAS-Dev/MPAS-Model#472) * philipwjones/framework/summitmake (MPAS-Dev/MPAS-Model#536) * atmosphere/atm_core_cleanup (MPAS-Dev/MPAS-Model#548) * init_atmosphere/parse_geoindex (MPAS-Dev/MPAS-Model#459) * xylar/compass/add_copy_file (MPAS-Dev/MPAS-Model#467) * init_atmosphere/kd_tree (MPAS-Dev/MPAS-Model#438) * init_atmosphere/mpas_stack (MPAS-Dev/MPAS-Model#426) * operators/add_mpas_in_cell (MPAS-Dev/MPAS-Model#400) Fixes #3396 Fixes #3236 [BFB]
This generalizes library searches to include both
libandlib64for thenetCDFandparallel-netCDFlibraries wherelib64takes precedence. This is needed to ensure proper compilation when using thePIO2library.