C++ Parallel Programming with Threading Building Blocks
Buch, Englisch, 754 Seiten, Format (B × H): 178 mm x 254 mm, Gewicht: 1532 g
ISBN: 978-1-4842-4397-8
Verlag: Apress
This open access book is a modern guide for all C++ programmers to learn 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 TBB 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.What You'll Learn
- Use Threading Building Blocks to produce code that is portable, simple, scalable, and more understandable
- Review best practices for parallelizing computationally intensive tasks in your applications
- Integrate TBB with other threading packages
- Create scalable, high performance data-parallel programs
- Work with generic programming to write efficient algorithms
Who This Book Is For
C++ programmers learning to run applications on multicore systems, as well as C or C++ programmers without much experience with templates. No previous experience with parallel programming or multicore processors is required.
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Algorithmen & Datenstrukturen
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Programmier- und Skriptsprachen
- Mathematik | Informatik EDV | Informatik Informatik Theoretische Informatik
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Programmierung: Methoden und Allgemeines
Weitere Infos & Material
PrefacePart IChapter 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 IIChapter 9: The Pillars of Composability Chapter 10: Using tasks to create your own algorithmsChapter 11: Controlling the Number of Threads Used for ExecutionChapter 12: Using Work Isolation for Correctness and PerformanceChapter 13: Creating Thread-to-core and Task-to-thread AffinityChapter 14: Using Task PrioritiesChapter 15: Cancellation and Exception HandlingChapter 16: Tuning TBB Algorithms: Granularity, Locality, Parallelism and DeterminismChapter 17: Flow Graphs: Beyond the BasicsChapter 18: Beef up Flow Graphs with Async NodesChapter 19: Flow Graphs on steroids: OpenCL NodesChapter 20: TBB on NUMA architectures
Appendix A: History and Inspiration Appendix B: TBB Précis Glossary




