in the past one of the fortran routines I am using in context of a large software project caused trouble when
optimization was requested. This problem went away a few
versions of ifc ago. Now I am looking at an unrelated code
segment and find that the program crashes when asking for
optimized compilation and works fine without.

In general, is that a 'feature' of ifc and indicates, well
not well programmed code, or is this more like a problem
with the optimizing algorithm and will be fixed? Should I try and isolate/understand the specifics or is it enough
to provide the 'broken' code?

anton empl

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Could be either. Most cases I have seen over the years, where code "breaks" when optimized, has been due to coding errors in the application. But compiler bugs happen too. Best thing is to isolate a test case and send it to Intel support.


Retired 12/31/2016

ifc 7.1 has a number of optimizations where ifc 6.01 didn't attempt fancy optimizations, and not all of them work well in every variation. I've had to split projects of several thousand subroutines down to where I can find the loop which is affected, and try to get them added to the list of issues to be addressed for 8.0. So, if you can, show us the specific problem.

For traditional Cray-style code, one of the notorious problems is in the handling of SIGN(), for which the compiler only recently began to generate in-line code. It may help to change the source code, to MERGE(), for example, where problems are suspected. I'm sure everyone has their personal lists.

I don't think there's any level of optimization above -O0 where the compiler can be made to observe parentheses consistently; maybe if enough people requested that, this could change. Even at -mp, the compiler sometimes performs optimizations such as changing ((x + y) - y) to (x). I'm sure that many people would not consider such expressions to be necesarily in the category of "coding error."

Leave a Comment

Please sign in to add a comment. Not a member? Join today