Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Zvi_Vered
Beginner
44 Views

Intel Compiler vs. Visual Studio 2010 compiler

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
Black Belt
44 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).

SergeyKostrov
Valued Contributor II
44 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.
Reply