Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7944 Discussions

Intel Compiler vs. Visual Studio 2010 compiler

Zvi_Vered
Beginner
416 Views

Hello,

I rebuilt FFTW (3.3.3) with the native C++ compiler supplied with MSDEV 2010.

Then I did the same with Intel Compiler (Intel Parallel Studio XE 2013).

I ran 20 iterations of 1D FFT on a complax float vector (1024 elements).

The performance in both cases was the same.

Does it make sense ? I expected compilation with Intel Compiler will cause a much faster code.

In both cases I used the release version of the FFTW dll.

Thanks,

Zvika

 

0 Kudos
2 Replies
TimP
Honored Contributor III
416 Views

Rather than putting in compiler optimizations specifically useful for FFT, Intel compilers provide the comprehensive MKL FFT library.  You might check with /Qvec-report to see if important loops are vectorized, and employ restrict qualifier and pragmas if not.

It's important to verify that the source code is standard-compliant with respect to aliasing and set /Qansi-alias.  Microsoft compiler takes a middle position, trying to protect against incorrect aliasing but also performing some optimization (presumably with run-time checks).

0 Kudos
SergeyKostrov
Valued Contributor II
416 Views
>>...Does it make sense? I expected compilation with Intel Compiler will cause a much faster code. Yes when compilation options, especially Optimize for Speed ( /O2 ), are used in both cases and instruction sets are also the same. My statistics: If difference in performance is about 1% it is not a concern. When it goes up to about 5% then there is a problem with codes generation of a C++ compiler. Please provide complete C++ compilers command line options for both cases. Thanks in advance.
0 Kudos
Reply