Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29269 Discussions

Floating Point Calculation output changes from ifort 9.0 to 9.1.039

Martin_C_
Beginner
494 Views

I am compiling using

ifort -O3 -save -r8 -mp -fp-port -std95 -CB -traceback -fpstkchk

This is a very complex calculation and I cannot include the code (over 50 files). When I change between ifort 9.0.021 to 9.1.039, I get differences in the 7th or 8th significant digit. I either need to know what change would have caused this, or a flag to enable to get the original output.

Martin

0 Kudos
1 Reply
Steven_L_Intel1
Employee
494 Views
There is no simple answer to this. Any change in instruction sequence can cause rounding changes and it would seem your application accumulates differences.

I suggest using "-fp-model precise" and removing -mp and -fp-port, as the new -fp-model switch replaces the variety of others and may yield better results and performance. I am NOT saying that this will "fix" the problem, but it is what I would recommend for you given the existing switches you're using. I also note that -save implies that you have coding errors in the application and you should try to address those by fixing the code (adding SAVE where appropriate or adding initialization) rather than the "big hammer" approach of -save.

Otherwise, you'll need to look at intermediate results in the application and see where they start to diverge.
0 Kudos
Reply