NCAR / spack-gust

Spack production user software stack on the Gust test system
4 stars 0 forks source link

ifx intel oneapi errors vs ifort #49

Closed apcraig closed 1 year ago

apcraig commented 1 year ago

With intel oneapi, ifx and ifort behave differently. ifx fails with when configuring mct in CESM. Ifort works. There is a test script here,

gust: /glade/gust/scratch/tcraig/testmct/go.csh

You can set MYFC to ifx or ifort in the script. Some locals files will be generated based on the mct configure script in my sandbox. Should be safe to do that. In that same directory on gust is a config.log for ifort and for ifx showing a successful and unsuccessful result.

Let me know if there are any questions. I could work a bit harder to clean up the test case further if needed.

vanderwb commented 1 year ago

This is an issue with older autoconf: https://community.intel.com/t5/Intel-Fortran-Compiler/ifx-2021-1-beta04-HPC-Toolkit-build-error-with-loopopt/m-p/1184181

Normally the version of autoconf we provide would fix this, but... there is old flag detection logic crufted into m4/fortran.m4 from an old version of autoconf, so using autoreconf doesn't resolve the flag error. If you delete that file, and then run autoupdate and then autoreconf -if , a configure script that works with ifx will be generated. Not sure if there are any side effects from doing that but would likely show up quickly.

vanderwb commented 1 year ago

But as mention on Slack, using ifort as the intel module current does is probably the best solution at present.

vanderwb commented 1 year ago

Workaround detailed in the last message. Closing this issue.