Compiler compatibility

Compiler compatibility

Ulf M.'s picture

I have a problem migrating a simulator coded in F77 from a Sun/Solaris platform into a Linux/Slackware platform running in a WMWare image on a PC.
I used Intel Fortan Composer XE on the Linux image.
This might seem like a challenging task, but actually it worked quite fine at a first glance.
The code compiled (after some minor modifications) and executed really fast compared to the execution on the Sun platform.
But, running some benchmark simulations, the results were not quite identical to the same in the old environment (in some cases).
I suspect it's related to floating point computations that are not conformant.
I switched Linux Slackware image to a 64-bit version, and the same with the compiler, but no difference.
The amount of compiler switches in the Intel compiler must be something of a record :-) I spent a lot of time trying different switches, and could notice differences in the result, but never came to the same result as the benchmark.

The switches in the Sun platform are:
F77 –c –O –N160  *.f

... and in the Linux:
Ifort –c –assume old_logical_ldio –fkeep-static-consts –fpscomp all –intconstant –align all –save –extend-source 132 *.f

Does anybody have a clue what I should try next?

/Ulf

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tim Prince's picture

I don't see how those switches relate to numerical results.  What about -fp-model source?

There could always be differences due to order of algebraically commutative operations which you could never eliminate.

If it's important, you could install the Oracle compiler for linux to compare its results.

Login to leave a comment.