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

Performance drop with XE compared to 11.1

onkelhotte
New Contributor II
416 Views

Hi Steve,

I just saw, that my programs doesn't use 100% CPU any more.

When I switch from XE Update 5 back to 11.1.072 I got 100% usage again, with XE it's around 40%.

Changing the Optimization options in XE didnt help (for example Enhanced Instruction Set, Intel Processor specific optimization...)

My command line is

/nologo /O3 /Qparallel /Qipo /D_Release /Qopenmp /warn:none /Qfp-stack-check /module:"Release\\\\" /object:"Release\\\\" /libs:qwin /c /libs:static /Qprec-div /Qprec-sqrt /assume:protect_parens

I have an i5-2540M CPU and Win7 64 Bit.

Markus

0 Kudos
5 Replies
Alexander_C_Intel
416 Views
Hi Markus,
CPU utilization is good metric but it does not always show real performance.In your case runtime of the program is more interesting to look at. Could you please measure the actual time spent by "slow" and "fast" code?
However, according what you have written above some parallelization may not be done in XE.
I suggest to add /Qpar-report and /Qopenmp-report options to check whether this is true or not.
Alexander
0 Kudos
onkelhotte
New Contributor II
416 Views
IVF 11.1.072: 85.6s (77.4s with /Qipo, which doesnt work with XE)
XE 12.0.5.221: 99.4s

Okay, that is not that much slower as 100% against 40% may suggest, but 15% is something just by changing to a newer compiler.

The report options says, that loops were auto parallelized, as well as the OpenMP defined loops with XE. Especially the loops which do the heavy calculations, were parallelized.

Markus
0 Kudos
Alexander_C_Intel
416 Views
Are par/omp reports from 11.1 and XE the same?
As I understand some OpenMP loops are paralleized with XE but not with 11.1.
BTW, what kind of problem do you have with Qipo in XE?
0 Kudos
onkelhotte
New Contributor II
416 Views

The reports are nearly the same, in both versions is one loop that wasnt parallized in the other project.

Error message of /Qipo is "error #10014: problem during multi-file optimization compilation (code 3) Link".

Now I converted the project to VS2010.There the /Qipo error and the performance drop vanishes when usingXE Update 8, but it is still there with Update 5.

Markus

0 Kudos
Alexander_C_Intel
416 Views
Thank you for inspecting the reports.
Sometimes only one threade/non-threade loop may significantly affect performance. Without looking at the source code it is difficult to explain why.
I propose you to continue using Update 8.
In case you would like to investigate the reason of performance drop some profiling e.g. with Vtune/Amplifier should help.
Alex
0 Kudos
Reply