Quantcast
Channel: Intel® Software - Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2746

Baseline performance of non-vectorized code: '-no-vec' or ' -no-vec -no-simd' ?

$
0
0

Hi,

I am trying to have a baseline performance of the non-vectorized version of the following code:

1532         do k = ks, ke
1533           do ii = iis, iie
1534             value = vals(ii)
1535             do j = js, je
1536               offset_1 = ( (k-1)*N2 + (j-1) ) * N1g
1537               offset_2 = offset_1 + ii
1538               do i = is, ie
1539                 dF(i + offset_1) = dF(i + offset_1) + value * F(i + offset_2)
1540               end do
1541             end do
1542           end do
1543         end do

Please note that this code piece does NOT use SIMD directives, such as !DIR$ SIMD.

I compiled the code using ifort 13.1.0 with different compiler options and the profiling results are summarized as below:

        Compiler Options                                   CPU_TIME(s)

               -O2 -no-vec                                          12.274

       -O2 -no-vec -no-simd                                  15.791

I observed a non-trivial performance decrease (15.791/12/274=1.29). This result surprised me because:

According to the description of '-no-simd' in Intel Fortran Compiler Help:

-[no-]simd

                  
enables(DEFAULT)/disables vectorization using SIMD directive

Clearly in the code piece shown above there is no SIMD directive. Then '-no-simd' should have no influence on the performance. So I am confused where does the performance decrease come from? 

I also checked the User and Reference Guides:

http://software.intel.com/sites/products/documentation/doclib/stdxe/2013...

Here the description becomes:

To disable the SIMD transformations, specify option -no-simd

This description seems to be different from the first one. So I am wondering how '-no-simd' really works. Does '-no-simd' only disable SIMD directives? Or it disables more optimizations, which led to the performance decrease I observed? Which compiler options shall I use to have a baseline performance of a non-vectorized code?

Thanks in advance for your kind help!

Best regards,

     Wentao


Viewing all articles
Browse latest Browse all 2746

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>