Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

IPO from IDE

kramer__walter
Principiante
910 Visualizações

When compiling from theIDE (VS 2003), I can select "Whole Program Optimization" under Configuration properties|General and set interprocedural optimization to "multifile" under Fortran|Optimization (according to the help file both are equivalent to the commandline option /Qipo).
If Iset both the optionsfor multifile optimization I don't find anyIPO inlining information in the optimization report, the same thing happens when setting only Fortran|Optimization to "multifile". When only "Whole Program Optimization" under Configuration properties|General is set to "Yes" I get the information I expected about inlining etc. Strange thing is that the command line option /Qipo only appears under Fortran|Commandline if Fortran|Optimization has been set to "multifile" (which seems in conflict with the information I get from the optimization report).

Any idea what I am doing wrong (I did set Interprocedural Optimization to "Yes" for the Linker)

Walter Kramer

0 Kudos
4 Respostas
Steven_L_Intel1
Funcionário
910 Visualizações

I can't reproduce this behavior. If I set the Configuration property, then the Fortran command line does show /Qipo and the Fortran > Optimization property automatically gets set to "Multifile". I get the IPO optimization reports.

You should not need to set anything other than either the Configuration or Fortran > Optimize property. If I set the Fortran > Optimize property and not the Configuration property, I still get /Qipo and still get the report. The Linker property got automatically set in both cases and you should not touch it.
kramer__walter
Principiante
910 Visualizações
I can reproduce the behaviour you are describing, but I can just as easily corrupt it.
Setting General|Whole Program Optimization to Yes will set Fortran|Optimization|Interprocedural optimization to Multi-File. Howeverthen setting Fortran|Optimization|Interprocedural optimization to No doesn't mean that General|Whole Program Optimization gets set to No. Once this has been done the link between the two settings seems to be broken. Setting both values to No followed by closing and reopening the solution repairs the link.

I also need to set /Qipo explicitly on the link command line to invoke ipo (Setting Linker|Optimization|Interprocedural Optimization to Yes doesn't put /Qipo on the command line, setting it to No will put /qnoipo on the command line)

The information I get in the report isvery limited (unreferenced var removal for one source file only, no inlining info) despite /Qopt-report:3

best regards,

Walter Kramer
Steven_L_Intel1
Funcionário
910 Visualizações
Does it work if you don't "corrupt" it? I am not astonished that this option, which has multiple properties in the IDE, might get confused if one makes multiiple changes.
kramer__walter
Principiante
910 Visualizações
Yes it works, so I can now build an application with IPO from the IDE (if I put /Qipo under Linker|Command Line|Additional options).
The thing is that the results of the application with IPO are not correct.I wanted to inspect the optimization report to see if I could find out if some function inlining causes the problem. However there is nearly no information written to the report.

Best Regards,

Walter Kramer

Responder