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

pass down compilation flags from build environment for ESMF #2325

Merged
merged 2 commits into from
Feb 5, 2021

Conversation

lexming
Copy link
Contributor

@lexming lexming commented Feb 1, 2021

The build of ESMF uses its own set of flags and mostly ignores the standard flags in the environment. This PR passes the flags from EB to the build of ESMF if optarch is set in toolchainopts.

Building ESMF with EB flags vastly improves the number of tests that pass (make unit_tests):

  • current develop: Found 3478 non-exhaustive multi-processor unit tests, 285 passed and 3193 failed
  • this PR: Found 3478 non-exhaustive multi-processor unit tests, 3209 passed and 269 failed.

Update: after further tests, the improvements seem to boil down to having a proper optarch

  • setting ESMF_F90COMPILEOPTS=-O2 -ftree-vectorize -fno-math-errno -fPIC results in 229 passed and 3249 failed unit tests
  • setting ESMF_F90COMPILEOPTS=-O2 -ftree-vectorize -march=native -fno-math-errno -fPIC results in 3209 passed and 269 failed unit tests

@boegel boegel added the bug fix label Feb 3, 2021
@boegel boegel added this to the 4.3.3 (next release) milestone Feb 3, 2021
@boegel boegel changed the title pass compilation flags from EB to ESMF build pass down compilation flags from build environment for ESMF Feb 3, 2021
@lexming
Copy link
Contributor Author

lexming commented Feb 4, 2021

Successful tests with this PR:

Copy link
Contributor

@smoors smoors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@smoors
Copy link
Contributor

smoors commented Feb 5, 2021

Going in, thanks @lexming!

@smoors smoors merged commit b05c53c into easybuilders:develop Feb 5, 2021
@lexming
Copy link
Contributor Author

lexming commented Feb 5, 2021

Test report by @lexming

Overview of tested easyconfigs (in order)

  • SUCCESS ESMF-7.1.0r-iomkl-2018b.eb
  • SUCCESS ESMF-7.1.0r-intel-2018b.eb
  • SUCCESS ESMF-7.1.0r-intel-2018a.eb
  • SUCCESS ESMF-7.1.0r-foss-2018b.eb
  • SUCCESS ESMF-7.0.2-intel-2017b.eb
  • SUCCESS ESMF-6.3.0rp1-intel-2017a-HDF5-1.8.18.eb
  • SUCCESS ESMF-6.3.0rp1-intel-2017a.eb

Build succeeded for 7 out of 7 (7 easyconfigs in total)
node379.hydra.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz, Python 2.7.5
See https://gist.github.com/8c01f0c045e7f34065d4915d3267b20a for a full test report.

@lexming lexming deleted the esmf-opts branch February 5, 2021 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants