Intel C++ compiler as an alternative to Microsoft's?

后端 未结 8 2026
梦如初夏
梦如初夏 2021-01-31 03:30

Is anyone here using the Intel C++ compiler instead of Microsoft\'s Visual c++ compiler?

I would be very interested to hear your experience about integration, performan

8条回答
  •  悲&欢浪女
    2021-01-31 04:10

    I've been using the Intel C++ compiler since the first Release of Intel Parallel Studio, and so far I haven't felt the temptation to go back. Here's an outline of dis/advantages as well as (some obvious) observations.

    Advantages

    • Parallelization (vectorization, OpenMP, SSE) is unmatched in other compilers.
    • Toolset is simply awesome. I'm talking about the profiling, of course.
    • Inclusion of optimized libraries such as Threading Building Blocks (okay, so Microsoft replicated TBB with PPL), Math Kernel Library (standard routines, and some implementations have MPI (!!!) support), Integrated Performance Primitives, etc. What's great also is that these libraries are constantly evolving.

    Disadvantages

    • Speed-up is Intel-only. Well duh! It doesn't worry me, however, because on the server side all I have to do is choose Intel machines. I have no problem with that, some people might.
    • You can't really do OSS or anything like that on this, because the project file format is different. Yes, you can have both VS and IPS file formats, but that's just weird. You'll get lost in synchronising project options whenever you make a change. Intel's compiler has twice the number of options, by the way.
    • The compiler is a lot more finicky. It is far too easy to set incompatible project settings that will give you a cryptic compilation error instead of a nice meaningful explanation.
    • It costs additional money on top of Visual Studio.

    Neutrals

    • I think that the performance argument is not a strong one anymore, because plenty of libraries such as Thrust or Microsoft AMP let you use GPGPU which will outgun your cpu anyway.
    • I recommend anyone interested to get a trial and try out some code, including the libraries. (And yes, the libraries are nice, but C-style interfaces can drive you insane.)

提交回复
热议问题