Tips and techniques on using the Intel® Compilers to maximize your application performance.
Are the Intel Fortran run-time libraries thread safe?
Intel® Fortran Compiler - What are the recommended options to target a Pentium® II processor-based system?How to target an older Intel processor that does not support Intel(R) Streaming SIMD Extensions (Intel SSE)
Intel® Compiler - How can I generate optimized code to run on any IA-32 or Intel®64 architecture processor?Some frequently used optimization switches of the Intel Compiler are described
Performance Tools for Software Developers - SSE generation and processor-specific optimizations continuedCan I combine the processor values and target more than one processor? How to generate optimized code for both Intel and AMD* architecture? Where can I find more information on processor-specific optimizations?
The purpose of this document is to help developers determine which FFT, Intel® MKL or Intel® IPP is best suited for their application.
Vectorization is one of many optimizations that are enabled by default in the latest Intel compilers. In order to be vectorized, loops must obey certain conditions, listed below. Some additional ways to help the compiler to vectorize loops are described.
The compiler supports many options that tune or optimize an application for different Intel and non-Intel processors. Differences are explained, and the switches /arch, /Qx..., /Qax... (Windows*) and -m, -x..., -ax... (Linux*, Mac OS* X) are recommended.
This article show how to build CP2K for Intel64 platform, using Intel® Fortran Compiler Professional Edition version 11.0 / 11.1 or Intel® Fortran Composer XE 2011, and Intel® Math Kernel Library (MKL) with FFTW 3.x support
Recommended linking model: icc/icpc/ifort [user objs] [user libs] [sys libs] Using -lm (the GNU math library) prior to user-created objects or libraries causes the GNU libm to be used instead of the Intel math library, impacting performance.