I'm curious what happened with the /check:all option in Ifort 2013 that would adversely impact my application run-times. I solved all of my previous numerical issues with the /fp:source flag. As an aside, for only a 20% performance hit max, I get digit for digit identical answers on everything from Core 2 x86 to AVX x64 CPUs with /fp:source - I'm not sure why you all don't make this the default. But, one of my builds is a "/check:all" build, which mainly comes in useful to detect bad user input (resulting in array bounds errors in some arbitrary place in the code). So, here are some of the typical run speeds for my app:
Regular build (Ifort 2011): 40 minutes
Regular build and fp:source (Ifort 2013): 45 minutes
With Runtime Checks (Ifort 2011): 95 minutes
With Runtime Checks and fp:source (Ifort 2013): 224 Minutes (what??)
In addition, it complained that:
ifort: warning #10182: disabling optimization; runtime debug checks enabled
In order to turn off this warning, I disabled all optimization ("O0" instead of "O2") for the /check:all build, and the run time went up to 344 minutes.
So, what happened to /check:all in Ifort 2013? Why is it running so much more slowly? Is warning 10182 a lie, considering that me manually disabling optimization gives me an even worse run time than the compiler disabling the optimization?