Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum.

Please note: The forum's URL has changed. The new URL is: https://molcasforum.univie.ac.at. Please update your bookmarks!

You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2016-02-18 17:07:14

dmueller
Member
Registered: 2016-02-18
Posts: 4

Floating point exceptions

Hi,

just recently this message pops up in my *.err files:

--- Start Module: seward at Mon Feb 15 16:11:12 2016 
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
[...]

I used gcc 4.9.2 to compile molcas80. I am running openmpi 1.6.5 and the internal BLAS lib. I am always running the full verification if i am forced to recompile, because of a software update on the compute server.
The verification gave no errors, but i am unsure about the accuracy of my results. Especially the underflow fpe unsettles me, because this hints at a loss of precision. Should i be worried? Should i try to compile with:

-ffpe-trap=zero,overflow,underflow

because molcas is not cancelling the calculation at this point.

I can provide configure and make logs if you wish. I just didn't want to bloat that thread up, if it's not needed.

Thank you for your response. It's kindly appreciated.
Cheers.

Offline

#2 2016-02-19 15:51:22

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,012

Re: Floating point exceptions

It might be related to what's mentioned here (for a different program): "For some weird reason, newer versions of gfortran give this error message and cause TelFit to behave erratically. Use gfortran 4.8 or lower". I believe Molcas (at least 8.0) hasn't been tested with gfortran > 4.8.

Offline

#3 2016-02-20 21:32:49

Steven
Administrator
From: Lund
Registered: 2015-11-03
Posts: 95

Re: Floating point exceptions

First of all, the message is not really "new", it was added in june 2013, since the F2008 standard requires such reporting.
This means that with any version after gfortran 4.8.1 you should see it.
The first two FPEs " IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO " are caused by the internal LAPACK library, it calls a function IEEECK that does certain checks.
The second two can also be from LAPACK (e.g. DLAMC4) and there are also other subroutines that check FP properties.

We run a "GARBLE" installation to check for invalid,zero,overflow but not for underflow or denormal, as these are used.

EDIT: I'm using GCC 5.3.0 wink


Always check the orbitals.

Offline

#4 2016-02-22 09:41:29

dmueller
Member
Registered: 2016-02-18
Posts: 4

Re: Floating point exceptions

Thank you very much for your fast reply.

I am subject to sporadic software updates on the compute server i am forced to use. When dependencies were seriously broke in the past i compiled gcc/openmpi or other stuff in my $home. So this is a possibility if downgrading of gcc is neccessary. I assume though, that i shouldn't be worried about the fpe warning and the calculations are intact?

Offline

#5 2016-02-22 11:12:31

Steven
Administrator
From: Lund
Registered: 2015-11-03
Posts: 95

Re: Floating point exceptions

The warning are new, but the FPEs not, so yes the calculations are the same as before.
You can also safely use any new GCC version, there should be no problem.


Always check the orbitals.

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 22:29:21