Quantcast
Channel: Fortran
Viewing all articles
Browse latest Browse all 3108

fp-model and other arguments

$
0
0

I'm compiling a large program with the new 15.0.2 compiler, where we previously used 12.0.4.  Since we need to ensure our results are identical with the optimized and non-optimized version, we previously used the following compile arguments:

-extend-source 132 -assume nounderscore -assume nobscc -align dcommons -static-libgcc -zero -fp-port -c -fpe0 -ftz -prec-div -fp-stack-check -ccdefault fortran -traceback -fp-model precise

...when compiling the non-optimized (debug) version, we added the following: -g -debug full -debug-parameters -check bounds -O0

...and added in -O1 or -O2 for the nodebug/optimized version.  All was well in the world, and our results matched perfectly between both executables.  However, now that we're moving on to version 15, this is not so much the case anymore.  We're matching with the majority of our results, however some executions that involve multiple inter-communicating processes are no longer matching.  Our first hiccup was we had to change the "-fp-model precise" argument to "-fp-model source", according to the following warning:

"ifort: command line warning #10212: -fp-model precise evaluates in source precision with Fortran."

Sorry, but I'm having an extremely difficult time digesting that error message.  Upon examination of the manpage, it states that option fp-model precise is converted to fp-model source, however, just a few lines higher up in the manual it outlines that "precise" and "source" appear to do two completely different things.  Is "precise"also setting "source"?  It also seems to suggest you can select multiple options from the three groups listed, but doesn't say how.  "-fp-model precise,source" throws an error, "-fp-model precise -fp-model source" issues the same warning above, implying it is being ignored.

FWIW, here are the flags we're trying to use with 15.0.2:

-extend-source 132 -assume nounderscore -assume nobscc -align dcommons -zero -c -fpe0 -fp-stack-check -ccdefault fortran -traceback -no-global-hoist -fimf-arch-consistency=true -fimf-precision=high -no-fma -fp-model source -prec-div -fp-port -fp-speculation=strict -prec-sqrt -fltconsistency

...and the same debug flags as above.

Thanks in advance to any insight anyone has to offer.


Viewing all articles
Browse latest Browse all 3108

Trending Articles



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