Parallel Programming with Co-Arrays 1st edition by Robert W. Numrich – Ebook PDF Instant Download/Delivery: 0429793271, 9780429793271
Full download Parallel Programming with Co-Arrays 1st edition after payment

Product details:
ISBN 10: 0429793271
ISBN 13: 9780429793271
Author: Robert W. Numrich
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.
Parallel Programming with Co-Arrays 1st table of contents:
1 Prologue
2 The Co-array Programming Model
2.1 A co-array program
2.2 Exercises
3 Partition Operators
3.1 Uniform partitions
3.2 Non-uniform partitions
3.3 Row-partitioned matrix-vector multiplication
3.4 Input/output in the co-array model
3.5 Exercises
4 Reverse Partition Operators
4.1 The partition of unity
4.2 Column-partitioned matrix-vector multiplication
4.3 The dot-product operation
4.4 Extended definition of partition operators
4.5 Exercises
5 Collective Operations
5.1 Reduction to root
5.2 Broadcast from root
5.3 The sum-to-all operation
5.4 The max-to-all and min-to-all operations
5.5 Vector norms
5.6 Collectives with array arguments
5.7 The scatter and gather operations
5.8 A cautionary note about functions with side effects
5.9 Exercises
6 Performance Modeling
6.1 Execution time for the sum-to-all operation
6.2 Execution time for the dot-product operation
6.3 Speedup and efficiency
6.4 Strong scaling under a fixed-size constraint
6.5 Weak scaling under a fixed-time constraint
6.6 Weak scaling under a fixed-work constraint
6.7 Weak scaling under a fixed-efficiency constraint
6.8 Some remarks on computer performance modeling
6.9 Exercises
7 Partitioned Matrix Classes
7.1 The abstract matrix class
7.2 Sparse matrix classes
7.3 The compressed-sparse-row matrix class
7.4 Matrix-vector multiplication for a CSR matrix
7.5 Exercises
8 Iterative Solvers for Sparse Matrices
8.1 The conjugate gradient algorithm
8.2 Other Krylov solvers
8.3 Performance analysis for the conjugate gradient algorithm
8.4 Strong scaling
8.5 Weak scaling
8.6 Iso-efficiency
8.7 Exercises
9 Blocked Matrices
9.1 Partitioned dense matrices
9.2 An abstract class for dense matrices
9.3 The dense matrix class
9.4 Matrix-matrix multiplication
9.5 LU decomposition
9.6 Partial pivoting
9.7 Solving triangular systems of equations
9.8 Exercises
10 The Matrix Transpose Operation
10.1 The transpose operation
10.2 A row-partitioned matrix transposed to a row-partitioned matrix
10.3 The Fast Fourier Transform
10.4 Performance analysis
10.5 Strong scaling
10.6 Weak scaling
10.7 Exercises
11 The Halo Exchange Operation
11.1 Finite difference methods
11.2 Partitioned finite difference methods
11.3 The halo-exchange subroutine
11.4 Exercises
12 Subpartition Operators
12.1 Subpartition operators
12.2 Assigning blocks to images
12.3 Combined effect of the two partition operations
12.4 Permuted distributions
12.5 The cyclic distribution
12.6 Load balancing
12.7 Exercises
13 Blocked Linear Algebra
13.1 Blocked matrices
13.2 The block matrix class
13.3 Optimization of the LU-decomposition algorithm
13.4 Exercises
14 The Finite Element Method
14.1 Basic ideas from finite element analysis
14.2 Nodes, elements and basis functions
14.3 Mesh partition operators
14.4 The mesh class
14.5 Integrating the heat equation
14.6 Exercises
15 Graph Algorithms
15.1 Graphs
15.2 The breadth-first search
15.3 The graph class
15.4 A parallel breadth-first-search algorithm
15.5 The Graph 500 benchmark
15.6 Exercises
16 Epilogue
People also search for Parallel Programming with Co-Arrays 1st:
what are parallel arrays
parallel programming examples
concurrent vs parallel programming
parallel programming algorithms
parallel programming c
Tags: Parallel Programming, Co Arrays, Robert Numrich, basic techniques


