13.07.2015 Views

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

APPENDIX AAPPLICATION PERFORMANCETOOLSIntel offers an array of application performance tools that are optimized to takeadvantage of the Intel architecture (<strong>IA</strong>)-based processors. This appendix introducesthese tools <strong>and</strong> explains their capabilities for developing the most efficient programswithout having to write assembly code.The following performance tools are available:• Intel ® C++ Compiler <strong>and</strong> Intel ® Fortran Compiler — Intel compilersgenerate highly optimized executable code for Intel <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> processors. Thecompilers support advanced optimizations that include vectorization for MMXtechnology, the Streaming SIMD Extensions (SSE), Streaming SIMD Extensions 2(SSE2), Streaming SIMD Extensions 3 (SSE3), <strong>and</strong> Supplemental StreamingSIMD Extensions 3 (SSSE3).• VTune Performance Analyzer — The VTune analyzer collects, analyzes, <strong>and</strong>displays Intel architecture-specific software performance data from the systemwideview down to a specific line of code.• Intel Performance Libraries — The Intel Performance Library family consistsof a set of software libraries optimized for Intel architecture processors. Thelibrary family includes the following:— Intel ® Math Kernel Library (Intel ® MKL)— Intel ® Integrated Performance Primitives (Intel ® IPP)• Intel Threading Tools — Intel Threading Tools consist of the following:— Intel Thread Checker— Thread ProfilerA.1 COMPILERSIntel compilers support several general optimization settings, including /O1, /O2,/O3, <strong>and</strong> /fast. Each of them enables a number of specific optimization options. Inmost cases, /O2 is recommended over /O1 because the /O2 option enables functionexpansion, which helps programs that have many calls to small functions. The /O1may sometimes be preferred when code size is a concern. The /O2 option is on bydefault.The /Od (-O0 on Linux) option disables all optimizations. The /O3 option enablesmore aggressive optimizations, most of which are effective only in conjunction withprocessor-specific optimizations described below.A-1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!