Structured Parallel Programming


Programming is now parallel programming. Much as structured programming revolutionized traditional serial programming decades ago, a new kind of structured programming, based on patterns, is relevant to parallel programming today. Parallel computing experts and industry insiders Michael McCool, Arch Robison, and James Reinders describe how to design and implement maintainable and efficient parallel algorithms using a pattern-based approach. They present both theory and practice, and give detailed concrete examples using multiple programming models. Examples are primarily given using two of the most popular and cutting edge programming models for parallel programming: Threading Building Blocks, and Cilk Plus. These architecture-independent models enable easy integration into existing applications, preserve investments in existing code, and speed the development of parallel applications. Examples from realistic contexts illustrate patterns and themes in parallel algorithm design that are widely applicable regardless of implementation technology.

  • The patterns-based approach offers structure and insight that developers can apply to a variety of parallel programming models
  • Develops a composable, structured, scalable, and machine-independent approach to parallel computing
  • Includes detailed examples in both Cilk Plus and the latest Threading Building Blocks, which support a wide variety of computers

Table of Contents
Chapter 1. Introduction
Chapter 2. Background

Part I: Patterns
Chapter 3. Patterns
Chapter 4. Map
Chapter 5. Collectives
Chapter 6. Data Reorganization
Chapter 7. Fork-Join
Chapter 8. Pipeline

Part II: Examples
Chapter 9. Forward Seismic Simulation
Chapter 10. K-Means Clustering
Chapter 11. Bzip2 Data Compression
Chapter 12. Merge Sort
Chapter 13. Sample Sort
Chapter 14. Cholesky Factorization

Part III: Appendices
Appendix A. Further Reading
Appendix B. Cilk Plus
Appendix C. TBB
Appendix D. C++11
Appendix E. Glossary

Book Details

  • Paperback: 432 pages
  • Publisher: Morgan Kaufmann (June 2012)
  • Language: English
  • ISBN-10: 0124159931
  • ISBN-13: 978-0124159938
Download [10.3 MiB]

You may also like...

Leave a Reply