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

Proliferation of preprocessor directives due to bug in Intel compiler fixed in latest versions? #162

Open
climbfuji opened this issue Nov 3, 2021 · 2 comments

Comments

@climbfuji
Copy link

There is a proliferation of preprocessor directives around Open MP pragmas in the code, for example:

#ifdef __GFORTRAN__

The problem is that the Intel compiler incorrectly required listing pointers in OpenMP shared or private clauses when the default is none. The GNU compiler on the other does not allow listing pointers as shared or private. A discussion with Intel and GNU developers led to the conclusion that GNU was right and Intel was wrong. According to Intel, this was fixed in compiler version 2021.2.

We need to test if this is indeed the case and if decide whether/when we want to to stop supporting older versions of the compiler (at least with OpenMP enabled).

@bensonr
Copy link
Contributor

bensonr commented Sep 29, 2023

@climbfuji - should we get this fixed and/or are we onto compiler version support in the UFS that allows this preprocessor macro to be eliminated?

@climbfuji
Copy link
Author

I don't think all of the systems are at 2021.2 yet. From https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html#pre-configured-sites-tier-1, I see that Cheyenne is still on intel/19.1.1.217, but this system will be decommissioned end of the year.

It would be good to confirm with EMC/NCO (@AlexanderRichert-NOAA and @Hang-Lei-NOAA) that the compiler used on WCOSS2 is at least 2021.2.0 (acorn is 2022.0.2, but it also has a config entry for intel 19).

If we eliminate the macro, we basically remove support for Intel compilers older than 2021.2.0 (maybe we can still compile w/p openmp for older versions, not sure).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants