Today's TBB: C++ Parallel Programming with Threading Building Blocks, Edition 2

· Springer Nature
Ebook
447
Pages
Ratings and reviews aren’t verified  Learn More

About this ebook

This open-access book serves as a comprehensive guide for C++ programmers looking to master Threading Building Blocks (TBB). Authored by two experts in TBB and parallel programming, the book distills decades of collective experience in developing and teaching parallel programming concepts, presenting insights in a clear and accessible manner.

Today’s TBB starts with foundational principles, explaining key concepts and terminology used in parallel programming. It then introduces the major components of TBB including parallel algorithms, flow graphs, and task groups that help you fully leverage the power of multicore systems. The book emphasizes TBB's higher-level parallelism capabilities, which facilitate the creation of portable, scalable applications for modern CPUs. Key topics, including memory management in parallel contexts and effective synchronization for data structures, are well explored, ensuring a comprehensive understanding of these critical concepts.

Later chapters delve into advanced topics including cancellation, exception handling, composability, performance tuning, and transitioning legacy code from older versions of TBB to Today’s TBB.

For nearly two decades, TBB has been invaluable to programmers, and this book leverages the latest advancements in C++ alongside TBB to enhance your parallel programming capabilities.

TBB excels in unlocking the performance of code that is not well-suited for accelerators, making it an essential tool in the realm of parallel computing. If you work with technologies like CUDA, SYCL, or OpenCL for accelerated computing, mastering TBB will also enable you to orchestrate parallelism effectively on the host CPU, optimizing performance in the face of Amdahl’s Law.

What You'll Learn

  • Create Scalable Code: Use TBB for portable, simple, and efficient programming.
  • Parallelization Strategies: Implement best practices for intensive tasks.
  • High-Performance Applications: Develop scalable parallel programs.
  • Modern C++ Compatibility: Apply TBB with C++17 and later.
  • Code Migration: Update legacy TBB code to leverage C++17 and Today’s TBB.
  • Think Parallel: Orchestrate parallelism in the entire computer system to your advantage.

Who This Book Is For

C++ programmers eager to harness the power of parallelism on multicore systems. Today’s TBB is accessible to those with limited experience, with C++ or parallelism, providing clear guidance on best practices and techniques. Experienced programmers will find valuable insights for refining their skills, addressing advanced topics such as cancellation, exception handling, composability, and performance tuning. No prior experience in parallel programming or multicore processors is necessary; however, those with some background will discover even more depth and value throughout the book.

About the author

Michael Voss is a Senior Principal Engineer of the Middleware Architecture at Intel. He has been a key member of the TBB development team since before its 1.0 release in 2006. Michael has co-authored over 40 published papers and articles on parallel programming and frequently consults with customers across diverse domains to help them effectively utilize parallelism in their applications. He is a member of the ISO C++ committee (WG21), participating in discussions around libraries and concurrency. Before joining Intel in 2006, Michael was an Assistant Professor in the Edward S. Rogers Department of Electrical and Computer Engineering at the University of Toronto. He earned his Ph.D. from the School of Electrical and Computer Engineering at Purdue University.

James Reinders enjoyed a distinguished career at Intel Corporation that spanned over four decades. With extensive experience in parallel computing, James has authored, coauthored, or edited twelve technical books on parallel programming and contributed to numerous others. A proud graduate of the University of Michigan’s engineering programs, he has a deep passion for system optimization and teaching. James has had the privilege of contributing to two of the world’s fastest computers, both achieving the #1 spot on the TOP500 list, as well as many other supercomputers and software development tools. With the completion of this book, James has retired from Intel and is now enjoying a well-deserved life of relaxation in Oregon.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.