Optimization icpc 13 vs icpc 14

Optimization icpc 13 vs icpc 14

Currently I am working on a simulation project which I develop in my own pc (Chakra linux, intel core i5). When I compile using icpc v 14.0.2 I get really nice results in terms of speed. The problem is that when I compile the code in a cluster (CentOs,  Xeon E7-8837 ) using icpc v 13.1.1 the execution time doubles. I have really no clue on what can be the cause of such behavior as my code is relatively simple. I would like to know what could be the possible causes and how to check them. Also If further information is needed please let me know so I can update the post.

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Intel compiler team may be pleased to hear of your satisfaction with the current release.

Suitable advice may depend on your goals.  A number of missed optimizations were corrected in later compilers.

If your hidden agenda includes asking for suggestions on how to persuade your sysadmin to add the newer installation, that's beyond the scope of what you asked.

Among the possibilities:

1) use compiler optimization diagnostics to see if the newer compiler reports performing additional optimizations

a)  -opt-report option.  In a Makefile, -opt-report-file=*$_opt.txt often works to make a report for each source file.

b) compare reports obtained by the method at


2) performance profiling, e.g. by VTune or gprof, to locate the differences

3) post your code in case someone here may be interested in looking into this

>>>The problem is that when I compile the code in a cluster (CentOs,  Xeon E7-8837 ) using icpc v 13.1.1 the execution time doubles>>

Maybe this issue could be related to the NUMA distances.

Does your code use multithreading?If it does did you pin threads to specific core?

Hi Sergio,
Yes, the compiler team will be pleased to hear of your satisfaction with 14.X the current release, appreciate much.  On your question, there's no other way other than to find out from optimization reports (-opt-report-file, -opt-report-phase options etc) like Tim mentioned or use performance analyzers such as Vtune etc. that will give a clue.

Also, with the latest release there are some improvements to optimizations per-se for some specific targets etc., so you'll need to use optimization reports or profilers to analyze accordingly.


Dear all thank you for your messages, I am still trying to see where the difference may come from, as soon as I have some news I will update the post.



Thanks Sergio, please let us know so I can pass it on to our product team, appreciate much.

Leave a Comment

Please sign in to add a comment. Not a member? Join today