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

Qipo with VS2008

Peter_Ostdiek
Beginner
465 Views
Does multi-file IPO really work in the context of visual studio? I'm trying to utilize inlining across multiple files within a static library, but cannot make it work. I have enabled -qopt-report=3 and the INLINING REPORT always lists -> mysubroutine(EXTERN) for every subroutine/function call, including all the subroutines within the project.

If I move one of the subroutines into the same file as a calling subroutine, then it does inline with significant performance benefit. That's not a viable solution for me, but it does prove that inlining is worth pursuing.

How do I make this work across files?
0 Kudos
3 Replies
Steven_L_Intel1
Employee
465 Views
When you build a static library with /Qipo. no optimization takes place until you link the program with an Intel compiler also using /Qipo. No inlining can be done until the link step.
0 Kudos
Peter_Ostdiek
Beginner
465 Views
Is it possible then to link with an Intel compiler with a main project that is VC? I have lots of Intel Fortran projects that I want to use Qipo with, and several MS C projects that I don't care if they have optimizations or not (including my main).

I do have Intel C++ XE too, but I have not converted my C++ projects over yet. Would this be easier if I made the switch, and what extra steps are necessary to pass Qipo to the linker?

Thanks for the help.
0 Kudos
Steven_L_Intel1
Employee
465 Views
It is possible, but a bit more complicated. Fundamentally, you need to run either ifort or xilink to do the linking. Yes, it would be much simpler if you switched the C++ project to using Intel C++ - then you would just enable /Qipo for both projects and it should work automatically. This is done under C++ > Optimization [Intel C++].
0 Kudos
Reply