Intel C++ Compiler 12??

Microsoft Visual Studio 2010 has been officially released for 3 months now (to the day), and to be pedantic, it has also been available in beta form since October 2008. Its bugs not withstanding, Visual Studio 2010 been a pretty successful hit. Besides the huge improvements to the .NET language and platform, big on the list of features for C++ developers is basic support for C++0x (the next standard version of C++, with lots of new & revolutionary features) and plenty of IDE enhancements. Intel’s C++ Compiler is the industry-standard with regards to performance and optimizations, still doesn’t support Visual Studio 2010 or C++0x.

As numerous postings on the Intel forums indicate, a plethora of users are in pressing need of an update to the Intel C++ Compiler. Questions on the matter are brushed-off, with short and rather-useless replies such as:

“This question has been discussed several times recently. The first such integration would come in a beta version of icc 12.0, which hasn’t yet been announced.”

No one has seen neither hair nor hide of Intel Compiler 12, not in private form or anything else. There is no information on the Intel site to even indicate that such a release is forthcoming. And until that time, developers will have to either resort to using the built-in MSVC++ compiler or hold off on migrating to Visual Studio 2010 and C++0x. Despite the information floating around on the net, the Intel C++ Compiler in its latest incarnation still does not support certain integral parts of C++0x such as r-value references (N2118) such that even if you were to attempt to manually compile your VS2010 project from the command-line by modifying the Intel compiler command-prompt to use the VC10 toolkit (as we’ve tried to do), you’ll find that it doesn’t even support the STL library headers that ship with VS2010. And linking to/against the VC9 headers results in DLL-hell with no way out.

The bottom-line of it all is that Intel still, almost a year after Microsoft made available development builds of VS2010 to corporate partners and TAP members, does not yet have anything that C++ Developers can use to build their solutions using features proposed and adopted for the next C++ standard years ago. And, perhaps even worse, there has been no corporate response to indicate when or even if such a possibility will happen. Intel’s customer support have been extremely vague on the matter of VS2010 support, have issued no official public statements on the matter, and are going out of their way to make their customers unhappy. Thank you, Intel. We really appreciate it.

8 thoughts on “Intel C++ Compiler 12??

  1. Hi Alfonso,

    For mathematically-complex code and operations, including many multimedia (audio/video) programs, the Intel compiler results in code that is anywhere from 2x to 1000x faster through certain optimizations and advanced methodologies. For other stuff, it’s consistently 20-60% faster.

    More importantly, it’s a better all-around compiler. It generates smarter warnings, and finishes quicker than MSVC++. But for me, I use it because of a bug in MSVC++ where my code brings the PC to a halt, slowing *everything* down when I run it after compiling with MSVC++. But using ICC, it works like a dream.

  2. It’s simple, according to the settlement from the recent Intel-AMD dispute, Intel has to make it’s compiler stop making code that diffrentiate cpu’s based on the manufactor flag and only on the capabilities flags (ie, “do this cpu support SSE3?” instead of “is this cpu an Intel cpu?” ).

    Because of that Intel drags it’s feet releasing a new version and will probably wait until forcibly prodded by AMD, or perhaps Microsoft ?

  3. Interesting that you should mention that, Mathias.

    Have a look at this: New version of MKL still cripples Intel’s competitors

    Granted, it’s for MKL and not ICC — perhaps Intel can use the excuse that it’s just an updated library but the actual compiler that does the optimizations is still the same old version. Good point though, Mathias…. definitely a possible explanation for this weird abandonment for the dev community!

  4. I wonder if the problem could be that Intel doesn’t even write the front end to their compiler?

    I am under the impression that they get their compiler front-end from another party, and that Intel just concentrates on the back-end optimization.

    So, perhaps this third-party supplier of the front-end needs to be pressured to provide some information about when they will be supporting more C++0x features.

  5. Richard, you are of course correct. Intel is one of the many companies that use the EDG (Edison Design Group) frontend compiler which does the actual C++ parsing and error checking, then presents the output in a more-direct fashion to whichever backend is being used for the actual compiling/optimization process. But EDG does feature (partial but mostly-complete) C++0x support, including r-value references. Comeau compiler (EDG-based) is one such implementation with r-value reference support:

  6. The importance of features depends on the user. From my point of view the need of some C99 resources is crucial. Intel C is up-to-date regrading C99 and Microsoft decided to ignore C99.

Leave a Reply

Your email address will not be published. Required fields are marked *