LFRic_atm build failure due to interplay of hard-coded PSyclone command line options for transmute and compiler bug #574
Replies: 5 comments 4 replies
-
|
A straightforward fix would be to allow the user to override the argument options passed to the PSyclone command in Transmute (also per file would be very important but thats a little pass my Make-fu today). I'll have a look at this today. |
Beta Was this translation helpful? Give feedback.
-
|
There should be no reason not to add an option for that PSyclone argument, it is used in a number of places both in LFRic Core and Apps so if it is going to be added it should be in all places. See here: https://github.com/MetOffice/lfric_core/blob/main/infrastructure/build/psyclone/psyclone_psykal.mk for the main location of the PSyclone calls. The main logic and definition of the new option should be in that @MatthewHambley may have some thoughts especially if this needs to be on a per file basis. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @MetBenjaminWent and @andrewcoughtrie , thanks a lot for your quick response and valuable help. I have tested that with https://github.com/MetBenjaminWent/lfric_apps/tree/psyclone_transmute_flags_override and |
Beta Was this translation helpful? Give feedback.
-
|
Additional comment: Intel does not consider the behaviour of their compiler a bug. I need to sit down with Fortran and OpenMP standard to verify this claim ;) But it appears that this unexpected behaviour will not be fixed and therefore be experienced by other sites as well (anyone using intel, ifort, or nvfortran with transmute scripts). In my fab scripts, I am looking at adding the |
Beta Was this translation helpful? Give feedback.
-
|
The OpenMP standard seems to allow this, I just had a look at OpenMP 6 (https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf, Section 5.1.1 "Free Source Form Directives"): Intel's compiler manual says this (https://www.intel.com/content/www/us/en/docs/fortran-compiler/developer-guide-reference/2025-3/syntax-rules-for-compiler-directives.html): Sounds like the compiler should accept With regards to ifort, I haven't seen this issue, but I'm currently debugging a segfault with |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
BOM has LFRic CI rose-stem testing pipeline failure on NCI-GADI due to LFRic_atm build error after enabling the existing METO transmute scripts (
ifxis the compiler we are using) :Through investigation with Joerg @hiker and Dave @davelee2804 , we found that this is because:
gfortranandcce, not byifxornvfortran, which led to the build error above.-l all, or adding-l offto the end can solve this problem. However, the PSyclone command line options are now hardcoded in the Make build system:https://github.com/MetOffice/lfric_apps/blob/115f2af65a84e37cf926f5039eae33d25f03b2d0/interfaces/physics_schemes_interface/build/psyclone_transmute.mk#L57
Joerg has filed a bug report to Intel to see if they can make changes for
ifx. However, since now LFRic build still breaks for us and probably other sites as well, is it possible to consider adding a flag now to makefiles that allows customized PSyclone command line options?Tagging @MetBenjaminWent and @christophermaynard here as they provided valuable help in finding the cause of the error and discussing possible solutions.
Adding @yaswant , @t00sa , @james-bruten-mo here, as this support request is related to build system.
Beta Was this translation helpful? Give feedback.
All reactions