CRC Press, Taylor & Francis Group, 2019. — 220 p. — ISBN13: 978-1-4398-4004-7.
Parallel Programming with Co-Arrays describes the basic techniques used to design parallel algorithms for high-performance, scientific computing. It is intended for upper-level undergraduate students and graduate students who need to develop parallel codes with little or no previous introduction to parallel computing. It is also intended as a reference manual for researchers active in the field of scientific computing. All the algorithms in the book are based on partition operators.
These operators provide a unifying principle that fits seemingly disparate techniques into an overall framework for algorithm design. The book uses the co-array programming model to illustrate how to write code for concrete examples, but it emphasizes that the important concepts for algorithm design are independent of the programming model. With these concepts in mind, the reader can write algorithms in different programming models based on personal taste and comfort.
The Co-array Programming Model
Partition Operators
Reverse Partition Operators
Collective Operations
Performance Modeling
Partitioned Matrix Classes
Iterative Solvers for Sparse Matrices
Blocked Matrices
The Matrix Transpose Operation
The Halo Exchange Operation
Subpartition Operators
Blocked Linear Algebra
The Finite Element Method
Graph Algorithms
Epilogue
A Brief Reference Manual for the Co-array Model