- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a FORTRAN application in which I am experiencing a large difference in compile times between using different versions the Intel FORTRAN compiler. Using 11.1 the compilation takes hours (2-4 on average), using 12.1 the compilation takes minutes (5-10 on average). Both resulting applications behave the same, and deliver the same output. What could be possibly causing the extreme difference in compile time? I understand the may be a very vague questions with many possible answers. I'm just looking for general direction on how to resolve the issue, if possible.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
to make sure I understand, you went from multiple hours to multiple minutes, right? So, a huge improvement in compile time?
Does your application have many modules, and do you use the ONLY qualifier on module uses? Do the modules have common blocks? Those are the areas where we'd made some signficant compile-time performance improvements in that time frame.
--Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Lorri,
Yes you correct, I am experiencing a huge improvement in compile times with the more recent version of the compiler. There are a large number of common blocks in the code, however I not seeing any use of modules or the ONLY qualifier. It's a bit difficult to tell though, because code is being compiled with Intel Fortran through a third party software.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do the COMMON blocks have DATA initialization and are large or there's lots of DATA statements?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve, that is true the COMMON blocks have DATA initializations and there are a large number of DATA statements. Might there be any way of improving the compilation time using the older 11.1 version the Intel compiler?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Larry
If you are interested you can profile compilation time with Xperf tool.For example when you suspect data bound issues you can profile disk I/O readings.Anyway at least you will be given a hotspot(s) which could be helpful in order to understanding where is the bottleneck.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Larry, the only thing I can suggest is to initialize the COMMON with executable code rather than DATA statements. Or, update your compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Using your current, slow-to-compile version, at the beginning of the program write the variables that are involved in the DATA statement(s) to an unformatted file and terminate execution as soon as the file has been written. Then, prepare a modified version of your program in which you have removed the DATA statements, and at the the beginning of the program read the unformatted file. Henceforth, use the modified version, as it should get compiled faster.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page