Threading Building Blocks (TBB): The Foundation & the Future

The parallel programming landscape has changed significantly over the last decade+, and since Threading Building Blocks (TBB) was introduced. It’s complicated now—with the advent of 10s or even hundreds of multicore processors to tap, accelerators, non-memory unified access (NUMA), more complex applications, multiple levels of parallelism, specialized libraries, and more. “The good news is you now have options to tweak for performance,” said Mike Voss, Intel TBB development expert. Mike is a co-author of a new book: Pro TBB, which is for novices to experts for creating explicit task arenas to isolate work, and assigning threads to particular cores and task arenas.

Looking into the future, Mike said that the past is the compass: we’re looking at hardware and accelerators; in-demand applications, such as machine learning and implementations with pytorch*; more features in the C++ standard; and high level abstractions. Get the full scoop in this Q&A video.

Then get the value-added book.

Pro TBB: C++ Parallel Programming with Threading Building Blocks

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.

Additional Resources

Michael Voss, Principal Engineer, Intel Corporation

Michael Voss is a principal engineer in the Intel Architecture, Graphics and Software Group at Intel. He has been a member of the TBB development team since before the 1.0 release in 2006 and was the initial architect of the TBB flow graph API. He is also one of the lead developers of Flow Graph Analyzer, a graphical tool for analyzing data flow applications targeted at both homogeneous and heterogeneous platforms. He has co-authored more than 40 published papers and articles on parallel programming topics and consults with customers across a wide range of domains to help them effectively use Intel’s threading libraries. Prior to joining Intel in 2006, Mike was an assistant professor in the Edward S. Rogers Department of Electrical and Computer Engineering at the University of Toronto. He received his Ph.D. from the School of Electrical and Computer Engineering at Purdue University in 2001.

Lindsay Michelet, AI Marketing/Messaging Strategist, Intel Corporation

Lindsay Michelet is an AI marketing and messaging strategist with a passion for honest storytelling about the real-world impact of Intel products and solutions. Her background includes 16+ years of integrated B2B marcom strategy and account direction with expertise in building messaging and content platforms, partner marketing programs, and go-to-market campaigns for a variety of industries and initiatives including AI, IoT, and autonomous driving. As part of the AI Marketing team, Lindsay oversees cross-Intel AI messaging strategy and execution. She holds a Bachelor’s of Arts in Marketing from Portland State University in Oregon.

For more complete information about compiler optimizations, see our Optimization Notice.