128,99 €
inkl. MwSt.
Versandkostenfrei*
Erscheint vorauss. 26. Mai 2025
payback
64 °P sammeln
  • Broschiertes Buch

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
…mehr

Produktbeschreibung
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.

Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Autorenporträt
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 over 40 published papers and articles on topics related to parallel programming and frequently consults with customers across a wide range of domains to help them effectively use the threading libraries provided by Intel.  Prior to joining Intel in 2006, he 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.   James Reinders is an engineer at Intel, with parallel computing experience spanning four decades, focused on enabling parallel programming in a heterogeneous world. James is currently focused on the DPC++ project (SYCL for LLVM), and the oneAPI initiative (delivering APIs spanning compute devices of many types from many vendors). James is an author/co-author/editor of ten technical books related to parallel programming; his latest book is about SYCL. He has had the great fortune to help make key contributions to two of the world's fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools. James consistently enjoys writing, teaching, programming, and consulting in areas related to parallel computing (HPC and AI).