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

Unusual compilation times between compiler versions

larry_riche
Beginner
491 Views

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.

0 Kudos
7 Replies
Lorri_M_Intel
Employee
491 Views

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

0 Kudos
larry_riche
Beginner
491 Views

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.

0 Kudos
Steven_L_Intel1
Employee
491 Views

Do the COMMON blocks have DATA initialization and are large or there's lots of DATA statements?

0 Kudos
larry_riche
Beginner
491 Views

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?

0 Kudos
Bernard
Valued Contributor I
491 Views

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.

0 Kudos
Steven_L_Intel1
Employee
491 Views

Larry, the only thing I can suggest is to initialize the COMMON with executable code rather than DATA statements. Or, update your compiler.

0 Kudos
mecej4
Honored Contributor III
491 Views

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.

0 Kudos
Reply