By James Reinders
First Edition
July 2007
Pages: 332
ISBN 10: 0-596-51480-8 |
ISBN 13: 9780596514808
More than ever, multithreading is a requirement for good performance of systems with multi-core chips. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.
Full Description
Written by James Reinders, Chief Evangelist of Intel Software Products, and based on the experience of Intel's developers and customers, this book explains the key tasks in multithreading and how to accomplish them with TBB in a portable and robust manner. With plenty of examples and full reference material, the book lays out common patterns of uses, reveals the gotchas in TBB, and gives important guidelines for choosing among alternatives in order to get the best performance.
You'll learn how Intel Threading Building Blocks:
- Enables you to specify tasks instead of threads for better portability, easier programming, more understandable source code, and better performance and scalability in general
- Focuses on the goal of parallelizing computationally intensive work to deliver high-level solutions
- Is compatible with other threading packages, and doesn't force you to pick one package for your entire program
- Emphasizes scalable, data-parallel programming, which allows program performance to increase as you add processors
- Relies on generic programming, which enables you to write the best possible algorithms with the fewest constraints
Cover | Table of Contents | Index | Sample Chapter | Colophon
Featured customer reviews
Be the first person to review this book!
Media reviews
"For the last eighteen years the denizens of the thinly populated world of supercomputers have been looking for a way to write really pretty and practical parallel programs in C++. We knew templates and generic programming had to be part of the answer, but it took the arrival of multi-core (and soon many-core) processors to create a fundamental change in the computing landscape. Parallelism is now going to be everyday stuff. Every C++ programmer is going to need to think about concurrency and parallelism and Threading Building Blocks provides the right abstractions for them to do it correctly. This book is not just a discussion of a C++ template library. It provides a lovely and in-depth overview of much of what we have learned about parallel computing in the last 25 years. It could be a great textbook for a course on parallel programming."
-- Dennis Gannon, Science Director, Pervasive Technology Labs at Indiana University, former head of DARPA's High Performance Computing (HPC++) project, and steering committee member of the Global Grid Forum
"The Age of Serial Computing is over. With the advent of multi-core processors, parallel-computing technology that was once relegated to universities and research labs is now emerging as mainstream. Intel Threading Building Blocks updates and greatly expands the work-stealing technology pioneered by the MIT Cilk system of 15 years ago, providing a modern industrial-strength C++ library for concurrent programming. Not only does this book offer an excellent introduction to the library, it furnishes novices and experts alike with a clear and accessible discussion of the complexities of concurrency."
-- Charles E. Leiserson, MIT Computer Science and Artificial Intelligence Laboratory
"We used to say make it right, then make it fast. We can't do that anymore. TBB lets us design for correctness and speed up front for Maya. This book shows you how to extract the most benefit from using TBB in your code."
-- Martin Watt, Senior Software Engineer, Autodesk






