The Software Optimization Cookbook, Second Edition

High-Performance Recipes for IA-32 Platforms
Book Type: Intel Press Books
Category: Programming
Table of Contents:

Get the most out of Intel IA-32 platforms with Intel® EM64T and multi-core processing.

The Software Optimization Cookbook, Second Edition, provides updated recipes for high-performance applications on Intel platforms. Through simple explanations and examples, four Intel experts show you how to address performance issues with algorithms, memory access, branch prediction, automatic vectorization, SIMD instructions, multiple threads, and floating-point calculations.

Software developers learn how to take advantage of Intel® Extended Memory 64 Technology (Intel® EM64T), multi-core processing, Hyper-Threading Technology, OpenMP*, and multimedia extensions. This book guides you through the growing collection of software tools, compiler switches, and coding optimizations, showing you efficient ways to improve the performance of software applications for Intel platforms.

Highlights include:

Choosing the right algorithm
Automatic vectorization and hints on how to guide the compiler
Compiler support for multi-threading
The performance impacts of shared L2 and L3 caches
Loop optimizations and when to use the compiler for performance gain
Use of intrinsics to exploit SIMD technology


Software developers who want to understand the latest techniques for delivering more performance and to fine-tune their coding skills will benefit from this book.

"A must-read text for anyone who intends to write performance-critical applications for the Intel processor family."

Robert van Engelen, Professor, Florida State University

"This book simplifies the task for engineers who strive to develop high-performance software without sacrificing source code readability or having to understand all the nitty-gritty details of IA-32 processors."

Lars Petter Endresen, Doctor of Engineering, Physics Scandpower Petroleum Technology

Please sign in to register your book.

About the Author(s)

Aart J.C. Bik

Aart J.C. Bik holds a PhD in computer science and is a Principal Engineer at Intel Corporation, working on the development of high performance Intel® C++ and Fortran compilers. Aart received an Intel Achievement Award, the company's highest award, for making the Intel Streaming SIMD Extensions easier to use through automatic vectorization. Aart is the author of The Software Vectorization Handbook.

Kevin B. Smith

Kevin B. Smith is a software architect for Intel's C and FORTRAN compilers. Since 1981 he has worked on optimizing compilers for Intel 8086, 80186, i960®, Pentium®, Pentium Pro, Pentium III, Pentium 4, and Pentium M processors.

Richard Gerber

Has worked on numerous multimedia projects, 3D libraries, and computer games for Intel. As a software engineer, he worked on the Intel VTune™ Performance Analyzer and led training sessions on optimization techniques. He is the author of The Software Optimization Cookbook.

Xinmin Tian

Xinmin Tian holds a PhD in computer science and leads an Intel development group working on exploiting thread-level parallelism in high-performance Intel® C++ and Fortran compilers for Intel Itanium®, IA-32, Intel® EM64T, and multi-core architectures.