C++ parallel programming with threading building blocks /
First Statement of Responsibility
Michael Voss, Rafael Asenjo, James Reinders.
.PUBLICATION, DISTRIBUTION, ETC
Place of Publication, Distribution, etc.
[New York, NY] :
Name of Publisher, Distributor, etc.
APress Open,
Date of Publication, Distribution, etc.
[2019]
PHYSICAL DESCRIPTION
Specific Material Designation and Extent of Item
1 online resource
GENERAL NOTES
Text of Note
Includes index.
CONTENTS NOTE
Text of Note
Part I -- Chapter 1: Jumping Right In - "Hello, TBB!" -- Chapter 2: Generic Parallel Algorithms -- Chapter 3: Flow Graphs -- Chapter 4: TBB and the C++ Parallel Standard Template Library -- Chapter 5: Synchronization: why and how to avoid it -- Chapter 6: Data Structures for Concurrency -- Chapter 7: Scalable Memory Allocation -- Chapter 8: Mapping Parallel Patterns to TBB -- Part II -- Chapter 9: The Pillars of Composability -- Chapter 10: Using tasks to create your own algorithms -- Chapter 11: Controlling the Number of Threads Used for Execution -- Chapter 12: Using Work Isolation for Correctness and Performance -- Chapter 13: Creating Thread-to-core and Task-to-thread Affinity -- Chapter 14: Using Task Priorities -- Chapter 15: Cancellation and Exception Handling -- Chapter 16: Tuning TBB Algorithms: Granularity, Locality, Parallelism and Determinism -- Chapter 17: Flow Graphs: Beyond the Basics -- Chapter 18: Beef up Flow Graphs with Async Nodes -- Chapter 19: Flow Graphs on steroids: OpenCL Nodes -- Chapter 20: TBB on NUMA architectures -- Appendix A: History and Inspiration -- Appendix B: TBB Précis -- Glossary.
0
SUMMARY OR ABSTRACT
Text of Note
This open access book is a modern guide for all C++ programmers to learn Intel 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 Intel Threading Building Blocks 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.