
Pro TBB
by Michael Voss, Rafael Asenjo, James Reinders · Programming
About this book
This 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 TBB starts 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. This book is available under a Creative Commons Attribution-NonCommercial-NoDerivatives license (CC BY-NC-ND), which means that you are free to copy and distribute it, as long as you attribute the source, don't use it commercially, and don't create modified versions. If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.
Key Insights
- Mastering Abstraction: Shift from low-level manual thread management to high-level task-based parallelism, ensuring code is both portable and future-proof across evolving hardware architectures.
- Strategic Optimization: Navigating the critical trade-offs between synchronization overhead and data locality to maximize performance in computationally intensive C++ applications.
- Heterogeneous Mastery: Extending standard TBB patterns to program complex system-on-chips (SoCs) and heterogeneous environments, enabling seamless scaling from multi-core CPUs to specialized accelerators.
Related Books
Sign in to leave a review and earn XP
Create AccountCommunity Reviews
No reviews yet. Be the first to review this book!



