You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Hi all

I've encountered an odd crash with OpenIFS cy40r1. If I compile with "fpe0" (Intel compilers, version 19.0.3) and run I get the following

489 forrtl: error (65): floating invalid
489 Image PC Routine Line Source
489 master.exe 000000000194B5E4 Unknown Unknown Unknown
489 libpthread-2.17.s 00002AAAB3A515E0 Unknown Unknown Unknown
489 master.exe 0000000000E17476 posddh_ 202 posddh.F90
489 master.exe 0000000000824979 stepo_ 328 stepo.F90
489 master.exe 000000000061CC79 cnt4_ 1014 cnt4.F90
489 master.exe 00000000005B1B53 cnt3_ 256 cnt3.F90
489 master.exe 00000000005B1184 cnt2_ 73 cnt2.F90
489 master.exe 000000000055362B cnt1_ 86 cnt1.F90
489 master.exe 000000000041A204 cnt0_ 134 cnt0.F90
489 master.exe 000000000041368B MAIN__ 66 master.F90
489 master.exe 00000000004135E2 Unknown Unknown Unknown
489 libc-2.17.so 00002AAAB4074C05 __libc_start_main Unknown Unknown
489 master.exe 00000000004134E9 Unknown Unknown Unknown

The crash used to be at line 198 in posddh, where it takes the NINDAT and finds the month of the run, i.e.

IDATEF(2) = (NINDAT - 10000*IDATEF(1) ) / 100

When I added a print statement at the line just above it, the crash did not happen there anymore, but a few lines down when OpenIFS uses NINDAT to find the day of the run. 

My print statement shows that all values are totally fine. NINDAT, IDATEF(1) and IDATEF(2) are all what they should be, so I have no idea what the problem really is.  

The backtrace is incomplete here. The problem seems to come from somewhere in libpthread and also master.exe, but I don't know where. 

If I run without "fpe0" the model runs fine, but since I'm getting odd numerical instabilities somewhere I'd really like to be able to use "fpe0" to trap any crazy numbers. 

I'm also using 

export DR_HOOK_IGNORE_SIGNALS='-1'


Has anyone experienced similar problems before and know what the problem could be? 


PS. Here are all the compiler settings: 

export OIFS_FFLAGS="-qopenmp -m64 -O3 -align array32byte -fp-model precise -convert big_endian -g -traceback -xCORE-AVX512 -qopt-zmm-usage=high -fpe0"
export OIFS_FFIXED="-r8"
export OIFS_FCDEFS="BLAS LITTLE LINUX INTEGER_IS_INT"
export OIFS_EXTRA_LIB=""
export OIFS_LFLAGS="-qopenmp"

  1. MKL
    MKLLIBS="-lmkl_intel_lp64 -lmkl_core -lmkl_lapack95_lp64 -lmkl_blas95_lp64 -lmkl_sequential"
    export OIFS_LAPACK_LIB="-L$
    Unknown macro: {MKLROOT}
    $
    Unknown macro: {MKLLIBS}
    "

export OIFS_CC=mpiicc
export OIFS_FC=mpiifort
export OIFS_CFLAGS="-g -traceback -fp-model precise -O3 -qopenmp -xCORE-AVX512 -qopt-zmm-usage=high -fpe0"
export OIFS_CCDEFS="LINUX LITTLE INTEGER_IS_INT _ABI64 BLAS"

  • No labels