Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The Intel compiler is one of the most advanced C++ compiler available, it has a number of advantages over for instance the Microsoft Visual C++ compiler, and one major drawback. The advantages include:</p> <ul> <li><p>Very good SIMD support, as far as I've been able to find out, it is the compiler that has the best support for SIMD instructions.</p></li> <li><p>Supports both automatic parallelization (multi core optimzations), as well as manual (through OpenMP), and does both very well.</p></li> <li><p>Support CPU dispatching, this is really important, since it allows the compiler to target the processor for optimized instructions when the program runs. As far as I can tell this is the only C++ compiler available that does this, unless G++ has introduced this in their yet.</p></li> <li><p>It is often shipped with optimized libraries, such as math and image libraries.</p></li> </ul> <p>However it has one major drawback, the dispatcher as mentioned above, only works on Intel CPU's, this means that advanced optimizations will be left out on AMD cpu's. There is a workaround for this, but it is still a major problem with the compiler.</p> <p>To work around the dispatcher problem, it is possible to replace the dispatcher code produced with a version working on AMD processors, one can for instance use <a href="http://agner.org/" rel="nofollow noreferrer">Agner Fog's</a> <a href="http://www.agner.org/optimize/asmlib.zip" rel="nofollow noreferrer">asmlib library</a> which replaces the compiler generated dispatcher function. Much more information about the dispatching problem, and more detailed technical explanations of some of the topics can be found in the <a href="http://agner.org/optimize/optimizing_cpp.pdf" rel="nofollow noreferrer">Optimizing software in C++</a> paper - also from Anger (which is really worth reading).</p> <p>On a personal note I have used the Intel c++ Compiler with Visual Studio 2005 where it worked flawlessly, I didn't experience any problems with microsoft specific language extensions, it seemed to understand those I used, but perhaps the ones mentioned by <a href="https://stackoverflow.com/questions/1982178/intel-c-compiler-as-an-alternative-to-microsofts/1982283#1982283">John Knoeller</a> were different from the ones I had in my projects.</p> <p>While I like the Intel compiler, I'm currently working with the microsoft C++ compiler, simply because of the financial extra investment the Intel compiler requires. I would only use the Intel compiler as an alternative to Microsofts or the GNU compiler, if performance were critical to my project and I had a the financial part in order ;)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload