This tutorial is an introduction to Intel's Threading Building Blocks (Intel's TBB), a commercially supported open-source C++ template library for shared-memory parallel programming, notably for multi-core processors. Though threads are a popular means of shared-memory parallel programming, they are a low-level unstructured construct whose undisciplined use can cause both correctness and performance problems. This tutorial explains these problems and how TBB addresses them, without resorting to special compilers or languages.
Course Objectives: The tutorial will explain the architecture of TBB, its motivation, and how to effectively apply TBB to problems by using parallel generic programming. Attendees will get some hands on experience with TBB.