- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there.
I did a search for a similar post, but couldn't see any.
We have a product, initially developed on solaris (sparc), now sold on Win64 as well. We are CPU-bound and some customers can barely fit our processing into the batch window they have.
Can anyone offer any ideas of what we could experience if we moved to icc? I'm interested in
* debugging under Visual Studio (currently using 2005)
* performance increases likely to be seen
* any problems with libraries we use (Roguewave, STL, CppUnit, OCCI and one lesser-known library that we've purchased as a binary with a "C" interface.)
* compilation/compatibility issues likely to be found
* length of time/effort to switch over to icc
We have 1,000 source files. Providing a line count is not easy, maybe 250,000 to 350,000 lines as a finger-in-the-air count.
Any anecdotes or hard evidence would be welcome.
Thanks!
I did a search for a similar post, but couldn't see any.
We have a product, initially developed on solaris (sparc), now sold on Win64 as well. We are CPU-bound and some customers can barely fit our processing into the batch window they have.
Can anyone offer any ideas of what we could experience if we moved to icc? I'm interested in
* debugging under Visual Studio (currently using 2005)
* performance increases likely to be seen
* any problems with libraries we use (Roguewave, STL, CppUnit, OCCI and one lesser-known library that we've purchased as a binary with a "C" interface.)
* compilation/compatibility issues likely to be found
* length of time/effort to switch over to icc
We have 1,000 source files. Providing a line count is not easy, maybe 250,000 to 350,000 lines as a finger-in-the-air count.
Any anecdotes or hard evidence would be welcome.
Thanks!
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel C++ has gone through continuing major effort to make it compatible with each version of Microsoft C++ and VS debugger, including compatibility with libraries. I would think that the vendors of commercial libraries could confirm this.
Performance improvements with Intel C++ depend greatly on the nature of the application and the extent to which it has been written to enable or defeat optimization. If your application is amenable to vectorization, it is no contest, you need a vectorizing compiler such as Intel's.
In difficult cases of conversion, it is practical to identify the functions which will benefit from Intel compiler, and change compiler incrementally. The major limitation there is that the Microsoft and Intel whole program optimizations aren't compatible, and would have to be restricted to separate objects. On a project as large as yours, you may not find a single whole program link phase suitable anyway.
Intel has adopted the VC9 conventions for OpenMP, so the Intel OpenMP run-time library works with VC9 /openmp, sometimes significantly improving performance.
Performance improvements with Intel C++ depend greatly on the nature of the application and the extent to which it has been written to enable or defeat optimization. If your application is amenable to vectorization, it is no contest, you need a vectorizing compiler such as Intel's.
In difficult cases of conversion, it is practical to identify the functions which will benefit from Intel compiler, and change compiler incrementally. The major limitation there is that the Microsoft and Intel whole program optimizations aren't compatible, and would have to be restricted to separate objects. On a project as large as yours, you may not find a single whole program link phase suitable anyway.
Intel has adopted the VC9 conventions for OpenMP, so the Intel OpenMP run-time library works with VC9 /openmp, sometimes significantly improving performance.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page