Shortcuts for Special Cases

Intel® Performance Libraries

If you know that your program makes depends heavily on linear algebra (especially BLAS or LAPACK), FFTs, convolution, compression, cryptography, or any other type of computationally intensive operation for which there are common APIs or libraries, then it is a good idea to survey the functionality offered by the Intel® Performance Libraries. These libraries have functions that have already been vectorized and threaded to perform well on the latest Intel® processors. Intel Performance Libraries are mentioned in the general step-by-step approach, but special knowledge of your program might compel you to take this step first.

SIMD Data Layout Templates

If you know that your program has large Array-of-Structure (AOS) datasets, consider using the SIMD Data Layout Templates available in the C++ compiler. This library ensures that your data layout enables generation of efficient SIMD (single instruction multiple data) vector code.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

For more complete information about compiler optimizations, see our Optimization Notice.