Multi-Core Programming

Increasing Performance through Software Multithreading
Book Type: Intel Press Books
Category: Programming
Table of Contents:

Discover programming techniques for Intel multi-core architecture and Hyper-Threading Technology

Software developers can no longer rely on increasing clock speeds alone to speed up single-threaded applications; instead, to gain a competitive advantage, developers must learn how to properly design their applications to run in a threaded environment. Multi-core architectures have a single processor package that contains two or more processor "execution cores," or computational engines, and deliver—with appropriate software—fully parallel execution of multiple software threads. Hyper-Threading Technology enables additional threads to operate on each core.

This book helps software developers write high-performance multi-threaded code for Intel's multi-core architecture while avoiding the common parallel programming issues associated with multi-threaded programs.

Highlights include:

Elements of parallel programming and multi-threading
Programming with threading APIs
OpenMP*: The portable solution
Solutions to common parallel programming problems
Debugging and testing multi-threaded applications
Software development tools for multi-threading


This book is a practical, hands-on volume with immediately usable code examples that enable readers to quickly master the necessary programming techniques. The companion Web site contains pointers to threading and optimization tools, code samples from the book, and extensive technical documentation on Intel multi-core architecture.

Please sign in to register your book.

About the Author(s)

Jason Roberts

Jason Roberts is a senior software engineer at Intel Corporation. Over the past 10 years, Jason has worked on a number of different multi-threaded software products that span a wide range of applications targeting desktop, handheld, and embedded DSP platforms.

Shameem Akhter

Shameem Akhter is a platform architect at Intel, focusing on single socket multi-core architecture and performance analysis. He has also worked as a senior software engineer with the Intel Software and Solutions Group, designing application optimizations for desktop and server platforms. Shameem holds a patent on a threading interface for constraint programming, developed as a part of his master's thesis in computer science.