| Preface | p. xi |
| Machines and Computation | p. 1 |
| Introduction - The Nature of High-Performance Computation | p. 3 |
| Computing Hardware Has Undergone Vast Improvement | p. 4 |
| SIMD-Vector Computers | p. 9 |
| MIMD - True, Coarse-Grain Parallel Computers | p. 14 |
| Classification of Distributed Memory Computers | p. 16 |
| Amdahl's Law and Profiling | p. 20 |
| Exercises | p. 23 |
| Theoretical Considerations - Complexity | p. 27 |
| Directed Acyclic Graph Representation | p. 27 |
| Some Basic Complexity Calculations | p. 33 |
| Data Dependencies | p. 37 |
| Programming Aids | p. 41 |
| Exercises | p. 41 |
| Machine Implementations | p. 44 |
| Early Underpinnings of Parallelization - Multiple Processes | p. 45 |
| Threads Programming | p. 50 |
| Java Threads | p. 56 |
| SGI Threads and OpenMP | p. 63 |
| MPI | p. 67 |
| Vector Parallelization on the Cray | p. 80 |
| Quantum Computation | p. 89 |
| Exercises | p. 97 |
| Linear Systems | p. 101 |
| Building Blocks - Floating Point Numbers and Basic Linear Algebra | p. 103 |
| Floating Point Numbers and Numerical Error | p. 104 |
| Round-off Error Propagation | p. 110 |
| Basic Matrix Arithmetic | p. 113 |
| Operations with Banded Matrices | p. 120 |
| Exercises | p. 124 |
| Direct Methods for Linear Systems and LU Decomposition | p. 126 |
| Triangular Systems | p. 126 |
| Gaussian Elimination | p. 134 |
| ijk-Forms for LU Decomposition | p. 150 |
| Bordering Algorithm for LU Decomposition | p. 155 |
| Algorithm for Matrix Inversion in log[superscript 2] n Time | p. 156 |
| Exercises | p. 158 |
| Direct Methods for Systems with Special Structure | p. 162 |
| Tridiagonal Systems - Thompson's Algorithm | p. 162 |
| Tridiagonal Systems - Odd-Even Reduction | p. 163 |
| Symmetric Systems - Cholesky Decomposition | p. 166 |
| Exercises | p. 170 |
| Error Analysis and QR Decomposition | p. 172 |
| Error and Residual - Matrix Norms | p. 172 |
| Givens Rotations | p. 180 |
| Exercises | p. 184 |
| Iterative Methods for Linear Systems | p. 186 |
| Jacobi Iteration or the Method of Simultaneous Displacements | p. 186 |
| Gauss-Seidel Iteration or the Method of Successive Displacements | p. 189 |
| Fixed-Point Iteration | p. 191 |
| Relaxation Methods | p. 193 |
| Application to Poisson's Equation | p. 194 |
| Parallelizing Gauss-Seidel Iteration | p. 198 |
| Conjugate Gradient Method | p. 200 |
| Exercises | p. 204 |
| Finding Eigenvalues and Eigenvectors | p. 206 |
| Eigenvalues and Eigenvectors | p. 206 |
| The Power Method | p. 209 |
| Jordan Cannonical Form | p. 210 |
| Extensions of the Power Method | p. 215 |
| Parallelization of the Power Method | p. 217 |
| The QR Method for Eigenvalues | p. 217 |
| Householder Transformations | p. 221 |
| Hessenberg Form | p. 226 |
| Exercises | p. 227 |
| Monte Carlo Methods | p. 231 |
| Monte Carlo Simulation | p. 233 |
| Quadrature (Numerical Integration) | p. 233 |
| Exercises | p. 242 |
| Monte Carlo Optimization | p. 244 |
| Monte Carlo Methods for Optimization | p. 244 |
| IIP Parallel Search | p. 249 |
| Simulated Annealing | p. 251 |
| Genetic Algorithms | p. 255 |
| Iterated Improvement Plus Random Restart | p. 258 |
| Exercises | p. 262 |
| Programming Examples | p. 265 |
| MPI Examples | p. 267 |
| Send a Message Sequentially to All Processors (C) | p. 267 |
| Send and Receive Messages (Fortran) | p. 268 |
| Fork Example | p. 270 |
| Polynomial Evaluation(C) | p. 270 |
| Lan Example | p. 275 |
| Distributed Execution on a LAN(C) | p. 275 |
| Threads Example | p. 280 |
| Dynamic Scheduling(C) | p. 280 |
| SGI Example | p. 282 |
| Backsub.f(Fortran) | p. 282 |
| References | p. 285 |
| Index | p. 286 |
| Table of Contents provided by Ingram. All Rights Reserved. |