Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

Intel 15 v 16 and imf: Consistency between processors

$
0
0

O Fortran Gurus,

A model I work on (GEOS-5) has the standing policy that we should get zero-diff between processors (say, Haswell and Sandybridge). From about Intel 11 to Intel 15.0.2, this was accomplished with (roughly):

-O3 -qopt-report0 -ftz -align all -fno-alias -traceback -fpe0 -fp-model source

Obviously not all of those are important for this but I just copy-and-pasted. Probably -fp-model source is the magic sauce.

But, with Intel 16.0.0, some regression tests I run SLURM put a job on our SandyBridge instead of a Haswell and, hello, non-zero-diff! So I started adding/changing flags like -fp-source strict, -assume protect_parens, setenv MKL_CBWR (a hope since no BLAS or LAPACK is in it, but...), etc. Finally, I found that:

-fimf-arch-consistency=true

added to our FOPT got it working and zero-diff.

My question now is for my own benefit: does anyone know where a good release notes or something would be to figure out why the IMF behavior changed between Intel 15 and 16? I tried looking at the Release Notes for Intel 16 but I don't see anything about "math" or "imf" in it. (A simple nm on the libimf.a definitely shows a difference!)

Again, now that I have a solution, the practical part of me is done with this; it's the inquisitive part that is triggered now.


Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>