𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Pro TBB: C++ parallel programming with threading building blocks

✍ Scribed by Asenjo Zegers, Rafael; Reinders, James; Voss, Michael J


Publisher
Apress Open
Year
2019
Tongue
English
Leaves
807
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems.

Pro TBBstarts with the basics, explaining parallel algorithms and C++'s built-in standard template library for parallelism. You'll learn the key concepts of managing memory, working with data structures and how to handle typical issues with synchronization. Later chapters apply these ideas to complex systems to explain performance tradeoffs, mapping common parallel patterns, controlling threads and overhead, and extending TBB to program heterogeneous systems or system-on-chips.
What You'll Learn




Use Threading Building Blocks to produce code that is portable, simple, scalable, and more understandable
Review best practices for parallelizing computationally intensive tasks in your applications


Integrate TBB with other threading packages


Create scalable, high performance data-parallel programs


Work with generic programming to write efficient algorithms
Who This Book Is For

C++ programmers learning to run applications on multicore systems, as well as C or C++ programmers without much experience with templates. No previous experience with parallel programming or multicore processors is required.

✦ Table of Contents


Jumping right in : "Hello, TBB!" --
Generic parallel algorithms --
Flow graphs --
TBB and the parallel algorithms of the C++ standard template library --
Synchronization : why and how to avoid it --
Data structures for concurrency --
Scalable memory allocation --
Mapping parallel patterns to TBB --
The pillars of composability --
Using tasks to create your own algorithms --
Controlling the number of threads used for execution --
Using work isolation for correctness and performance --
Creating thread-to-core and task-to-thread affinity --
Using task priorities --
Cancellation and exception handling --
Tuning TBB algorithms : granularity, locality, parallelism, and determinism --
Flow graphs : beyond the basics --
Beef up flow graphs with async nodes --
Flow graphs on steroids : OpenCL nodes --
TBB on NUMA architectures --
Appendix A: History and inspiration --
Appendix B: TBB Précis.


πŸ“œ SIMILAR VOLUMES


Pro TBB: C++ Parallel Programming with T
✍ Michael Voss, Rafael Asenjo, James Reinders πŸ“‚ Library πŸ“… 2019 πŸ› Apress 🌐 English

<div> <p>This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insi

Pro Tbb: C++ Parallel Programming with T
✍ Michael Voss, Rafael Asenjo, James Reinders πŸ“‚ Library πŸ“… 2019 πŸ› Apress 🌐 English

This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an

Pro Tbb: C++ Parallel Programming with T
✍ Rafael Asenjo; James Reinders; Michael Voss πŸ“‚ Library πŸ“… 2019 πŸ› Apress 🌐 English

This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an

Pro TBB: C++ Parallel Programming with T
✍ Michael Voss, Rafael Asenjo, James Reinders πŸ“‚ Library πŸ“… 2019 πŸ› Apress 🌐 English

<p>This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in

Intel Threading Building Blocks: Outfitt
✍ James Reinders πŸ“‚ Library πŸ“… 2007 🌐 English

Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for good performance. This guide explains how to m