- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Assuming I don't want to give upANY advanced optimizations (including global/inter-procedurals),
1. What else can be done to speed up my compiles?
2. fortcom.exe doesn't appear to be multi-threaded (as watched by Task Manager). Why?
2. Is fortcom.exe itself compiled/optimized with processor dispatch so it makes use of the latest processor capabilities but at the same time time still works on older ones?
Al Greynolds
www.ruda.com
1. What else can be done to speed up my compiles?
2. fortcom.exe doesn't appear to be multi-threaded (as watched by Task Manager). Why?
2. Is fortcom.exe itself compiled/optimized with processor dispatch so it makes use of the latest processor capabilities but at the same time time still works on older ones?
Al Greynolds
www.ruda.com
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Delete all the files with names ending with "libFNP.dll" from the compiler BIN folder. That will probably help at this time. Don't delete FNP_Act_Installer.dll.
The compiler is not multithreaded nor does it use processor dispatch. The latter is not likely to be helpful for the compiler. We have done work towards threading the compiler, but it is still a "future". You might want to consider, if you are using Visual Studio 08, separating your project into several static library projects which Visual Studio can then build in parallel. I've seen this do amazing things on a Core i7 system with 8 threads. This may or may not be successful for you depending on how you use modules.
The compiler is not multithreaded nor does it use processor dispatch. The latter is not likely to be helpful for the compiler. We have done work towards threading the compiler, but it is still a "future". You might want to consider, if you are using Visual Studio 08, separating your project into several static library projects which Visual Studio can then build in parallel. I've seen this do amazing things on a Core i7 system with 8 threads. This may or may not be successful for you depending on how you use modules.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the info Steve.
Actually, I see these *_libFNP.dll files in the 11.0.x directories but not 10.1.030 which is the one I'm currently trying to spped up.
Al
Actually, I see these *_libFNP.dll files in the 11.0.x directories but not 10.1.030 which is the one I'm currently trying to spped up.
Al
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah. In that case, never mind about the libFNP.dll files. That's 11.0 only and the effect of deleting them is a workaround for a bug that will be fixed in a future update.
What options are you using? For which platform are you compiling?
What options are you using? For which platform are you compiling?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
What options are you using? For which platform are you compiling?
/O3 /Qipo /Qprec-div- /Qprec-sqrt- /fp:fast=2 /Qcomplex-limited-range /Qunroll-aggressive /Qopt-multi-version-aggressive /Qvec-guard-write /Qpad
Windows XP Professional
I have a single .f90 file that contains "includes" to all the source files in the application so /Qipo sees all the source at once.
Al
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, /Qipo is often time-consuming, especially with large applications. If you have a single .f90 file you don't need /Qipo and may want to just try /Qip. I don't see /QxW or a similar instruction set switch in there - that would likely make the program run faster (since you're using 10.1) - without it you're not going to get vectorization.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Well, /Qipo is often time-consuming, especially with large applications. If you have a single .f90 file you don't need /Qipo and may want to just try /Qip. I don't see /QxW or a similar instruction set switch in there - that would likely make the program run faster (since you're using 10.1) - without it you're not going to get vectorization.
I do have /QxN (Pentium-4 Xeon) and /Qopenmp /Qparallel. I just missed them in the cut-and-paste. Switching from /Qipo to /Qip only reduced my compile time by a few percent.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok. I don't think there's more you can do here other than perhaps remove /Qip and see if the default interprocedural analysis gives you the performance you want with less compile time overhead.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page