SIMD Vectorization and SIMD-enabled Functions are a part of Intel® Cilk™ Plus feature supported by the Intel® C++ Compiler that provide ways to vectorize loops and user defined functions. Vectorization is the key to improving your applications' performance through taking advantage of the processor's Single Instruction Multiple Data (SIMD) capability to operate on multiple array (or vector) elements at a time. The Intel® Compilers provide unique capabilities to enable vectorization. The programmer may be able to help the compiler to vectorize more loops through a simple programming style and by the use of compiler features designed to assist vectorization. This article discusses how to use the SIMD-enabled functions, and the SIMD directive (#pragma simd) from the Intel® Cilk™ Plus, to help the compiler to vectorize C/C++ code and improve performance.
Click here to continue reading the article.
Additional information about what sort of loops may be vectorized using the SIMD pragma/directive is available here.