...
Panel | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
OpenIFS OpenIFS can fail with Intel compiler at -O2There is an issue with OpenIFS when compiling with the Intel compiler at optimization level -O2 or above on chipsets that support SSE4.1 & AVX instructions. Intel compilers are generally more aggressive at optimisations for -O2 than other compilers. Users will see failure with the T21 test job similar to the following:
It arises because this compiler makes use of 2-way vectorization when compiling both branches of IF statements which can generate floating point exceptions if a zero divide is possible in the unexecuted branch and the IFS internal signal handler (DRHOOK) is enabled. There are several possible workarounds:
OpenIFS uses a default of -O1 in the configuration files. If you increase the optimisation level, please be aware of this issue. For more help with this issue, please contact openifs-support@ecmwf.int. |
...
Panel | ||||
---|---|---|---|---|
| ||||
GNU compilers |
Panel | ||
---|---|---|
| ||
OpenIFS 38r1 fails with gfortran version 5 compilerOpenIFS 38r1 is known to fail when using the gfortran/gcc version 5.2 compiler. The error is:
If this occurs we recommend using version 4.8.1 of the gnu compilers. There is currently no fix for this issue with OpenIFS based on the 38r1 release. Later versions of OpenIFS (40r1+) do not fail. |
Panel | ||||
---|---|---|---|---|
| ||||
Cray |
Panel | ||||
---|---|---|---|---|
| ||||
Cray ATP does not workThis is caused by the way IFS creates its own signal handler. To enable Cray ATP set:
in the job script to completely disable any signal trapping by the IFS signal handler code 'DrHook'. Contact openifs-support@ecmwf.int for assistance. |
...