Parallel programming guru James Reinders is co-author of a new book called: Pro TBB: C++ Parallel Programming with Threading Building Blocks. The book unveils insights and best practices on implementing threading and programming task-based parallelism in an approachable manner for novices, and includes advanced topics like event handling, task isolation and heterogeneous programming for experts. In this interview, James discusses:
- How TBB and C++ has evolved over the last decade
- Key usages in industries including financial, oil and gas, visual effects, and more
- Using a consistent strategy for TBB with composability and keeping a pure abstraction
- Moving from pattern orientation to Flow Graph mapping
- Advantages vs disadvantages of using TBB
- And more
This open access book is a modern guide for all C++ programmers to learn TBB and leverage the power of parallel systems. Pro TBB starts with explaining parallel algorithms and C++’s standard template library for parallelism. You’ll learn 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. Learn more.