Description
This work provides a practical approach to the topic of parallel processing. The author builds actual application programs and uses them to solve actual engineering problems in a variety of disciplines while using the parallel computing platform. The work introduces the parallel paradigm and tools of parallel programming with a variety of programming languages.Table of Contents: I. DESIGN. 1. Parallel Computers and Computation. Parallelism and Computing. A Parallel Machine Model. Other Parallel Machine Models. A Parallel Programming Model. Parallel Algorithms. 2. Designing Parallel Algorithms. Methodical Design. Partitioning. Communication. Agglomeration. Mapping. Case Study: Climate Modeling. Case Study: Floorplan Optimization. Case Study: Computational Chemistry. 3. A Quantitative Basis for Design. Defining Performance. Approaches to Performance. Modeling Performance. Performance Modeling and Design. Experimental Studies. Evaluating Implementations. A Refined Communication Cost Model. Input/Output. 4. Putting It All Together. Modular Design. Modularity and Parallel Programming. Data Distribution. Sequential Composition. Performance Analysis. Templates. II. TOOLS. 5. Fortran M. Introduction. Concurrency. Communication. Unstructured Communication. Probing for Pending Messages. Argument Passing. Determinism. Mapping. Performance Issues. Case Study: Finite Difference. Case Study: Floorplan Optimization. 6. Modular C Data Parallel Languages. Data Parallelism. Fortran 90. High Performance Fortran. Integrating Task and Data Parallelism. 7. Message Passing Libraries. The MPI Programming Model. MPI Basics. Global Operations. Querying Received and Pending Messages. Derived Data Types. Modularity. Performance. Other MPI Features. 8. Performance Tools. Profiling Tools. Tracing Tools. Timers. III. BUILDING BLOCKS. 9. Availability of Software. 0201575949T04062001





