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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 3GENERAL OPTIMIZATION GUIDELINESThis chapter discusses general optimization techniques that can improve the performanceof applications running on processors based on Intel Core microarchitecture,Intel NetBurst microarchitecture, Intel Core Duo, Intel Core Solo, <strong>and</strong> Pentium Mprocessors. These techniques take advantage of microarchitectural described inChapter 2, “Intel® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> Processor <strong>Architectures</strong>.” <strong>Optimization</strong> guidelinesfocusing on Intel dual-core processors, Hyper-Threading Technology <strong>and</strong> <strong>64</strong>-bit modeapplications are discussed in Chapter 8, “Multi-Core <strong>and</strong> Hyper-Threading Technology,”<strong>and</strong> Chapter 9, “<strong>64</strong>-bit Mode Coding Guidelines.”Practices that optimize performance focus on three areas:• tools <strong>and</strong> techniques for code generation• analysis of the performance characteristics of the workload <strong>and</strong> its interactionwith microarchitectural sub-systems• tuning code to the target microarchitecture (or families of microarchitecture) toimprove performanceSome hints on using tools are summarized first to simplify the first two tasks. the restof the chapter will focus on recommendations of code generation or code tuning tothe target microarchitectures.This chapter explains optimization techniques for the Intel C++ Compiler, the IntelFortran Compiler, <strong>and</strong> other compilers.3.1 PERFORMANCE TOOLSIntel offers several tools to help optimize application performance, includingcompilers, performance analyzer <strong>and</strong> multithreading tools.3.1.1 Intel ® C++ <strong>and</strong> Fortran CompilersIntel compilers support multiple operating systems (Windows*, Linux*, Mac OS* <strong>and</strong>embedded). The Intel compilers optimize performance <strong>and</strong> give application developersaccess to advanced features:• Flexibility to target <strong>32</strong>-bit or <strong>64</strong>-bit Intel processors for optimization• Compatibility with many integrated development environments or third-partycompilers.• Automatic optimization features to take advantage of the target processor’sarchitecture.3-1

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

Saved successfully!

Ooh no, something went wrong!