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

Fortran XE 2015 Compiler slower than XE 2013 SP1

schulzey
New Contributor I
712 Views

I recently upgraded from Intel Fortran Studio XE 2013 SP1 Update 2 to Parallel Studio XE 2015 and am finding that my application now runs quite a bit slower than with the old compiler.

Both versions are being used with Visual Studio 2010 and I have identical source code, identical VS settings and I'm running everything on the same computer. I am compiling a release 64bit version of my application and I'm finding that an example of what took 3 seconds to run now takes 12 seconds. My application involves a mixture of file IO functions and floating point calculations. I can't really tell which of those two components has become slower because they are very much intertwined.

Has anyone else experienced this problem?

 

0 Kudos
7 Replies
jimdempseyatthecove
Honored Contributor III
712 Views

Experiment with the I/O buffer size. The default setting for this may have changed.

Jim Dempsey

0 Kudos
Steven_L_Intel1
Employee
712 Views

I suggest using Intel VTune Amplifier XE to profile both versions and see where the time is being spent.

0 Kudos
schulzey
New Contributor I
712 Views

I ran VTune Amplifier XE and found a couple of slight speed issues, but nothing worth mentioning. I then noticed that my application built as 32bit ran in 3 seconds, whereas the 64bit version was still taking 12 seconds. 

I then completely rebuilt my Visual Studio project from scratch, using all default settings and it now works Ok. Hooray!!

It seems that when I upgraded to XE 2015 something happened to my VS settings that caused the slowdown in my 64bit application.

0 Kudos
jimdempseyatthecove
Honored Contributor III
712 Views

>>I then completely rebuilt my Visual Studio project from scratch, using all default settings and it now works Ok. Hooray!!

What this sounds like is the dependency checker yielded false-negative for rebuild query of source files. This can occur when you copy project folders from one system to another and for whatever reason the source appears to have a future date than the destination. Generally, it is good practice to perform a Clean whenever you perform a compiler version update (or copy of solution/project from system to system).

Jim Dempsey

0 Kudos
schulzey
New Contributor I
712 Views

I did try a full clean and rebuild a number of times without success. I can only guess that one of the compiler switches in VS was changed during the compiler upgrade.

0 Kudos
saad__omar
Beginner
712 Views

Hi,

I noticed the same behaviour with XE 2015 SP1 in my application.  I am using visual studio 2013. I used Vtune to inspect the slow hotspot and Vtune indicated two functions where the program spent a lot of time.  The first one is GetProcessTime and mainly WriteFileImplementation both from kernel32.dll. 

My program loop over a time period and at each time step it write results two a binary file and at I monitor the time spent by each step.   So I tried several optimization using I/O buffering and this did not help. But what is surprising is the perfermance degredation of the WriteFileImplementation compared with XE 2013.  Did something changed in the way of writing binary file.  

 

0 Kudos
Steven_L_Intel1
Employee
712 Views

You may want to look at the compiler release notes section about file buffering changes.

0 Kudos
Reply