Quale versione del fortran utilizzi?
A cura di Giuseppe Ciaburro
Pubblicato il 05/02/2008
Un manuale su come progettare e realizzare dei programmi in parallelo
SOMMARIO
Contents
Preface
Terminology
Part I: Concepts
Part I:
Concepts
1 Parallel Computers and Computation
1.1 Parallelism and
Computing
1.2 A Parallel Machine Model
1.3 A Parallel Programming Model
1.4 Parallel Algorithm Examples
1.5 Summary
Exercises
Chapter
Notes
2 Designing Parallel Algorithms
2.1 Methodical Design
2.2
Partitioning
2.3 Communication
2.4 Agglomeration
2.5 Mapping
2.6
Case Study: Atmosphere Model
2.7 Case Study: Floorplan Optimization
2.8
Case Study: Computational Chemistry
2.9 Summary
Exercises
Chapter
Notes
3 A Quantitative Basis for Design
3.1 Defining Performance
3.2
Approaches to Performance Modeling
3.3 Developing Models
3.4 Scalability
Analysis
3.5 Experimental Studies
3.6 Evaluating Implementations
3.7
A Refined Communication Cost Model
3.8 Input/Output
3.9 Case Study:
Shortest-Path Algorithms
3.10 Summary
Exercises
Chapter Notes
4
Putting Components Together
4.1 Modular Design Review
4.2 Modularity and
Parallel Computing
4.3 Performance Analysis
4.4 Case Study: Convolution
4.5 Case Study: Tuple Space
4.6 Case Study: Matrix Multiplication
4.7 Summary
Exercises
Chapter Notes
Part II: Tools
Part II:
Tools
5 Compositional C++
5.1 C++ Review
5.2 CC++ Introduction
5.3 Concurrency
5.4 Locality
5.5 Communication
5.6 Asynchronous
Communication
5.7 Determinism
5.8 Mapping
5.9 Modularity
5.10
Performance Issues
5.11 Case Study: Channel Library
5.12 Case Study:
Fock Matrix Construction
5.13 Summary
Exercises
Chapter Notes
6
Fortran M
6.1 FM Introduction
6.2 Concurrency
6.3 Communication
6.4 Unstructured Communication
6.5 Asynchronous Communication
6.6
Determinism
6.7 Argument Passing
6.8 Mapping
6.9 Modularity
6.10
Performance Issues
6.11 Case Study: Fock Matrix Construction
6.12
Summary
Exercises
Chapter Notes
7 High Performance Fortran
7.1
Data Parallelism
7.2 Fortran 90
7.3 Data Distribution
7.4
Concurrency
7.5 Dummy Arguments and Modularity
7.6 Other HPF Features
7.7 Performance Issues
7.8 Case Study: Gaussian Elimination
7.9
Summary
Exercises
Chapter Notes
8 Message Passing Interface
8.1
The MPI Programming Model
8.2 MPI Basics
8.3 Global Operations
8.4
Asynchronous Communication
8.5 Modularity
8.6 Other MPI Features
8.7
Performance Issues
8.8 Case Study: Earth System Model
8.9 Summary
Exercises
Chapter Notes
9 Performance Tools
9.1 Performance
Analysis
9.2 Data Collection
9.3 Data Transformation and Visualization
9.4 Tools
9.5 Summary
Exercises
Chapter Notes
Part III:
Resources
Part III: Resources
10 Random Numbers
10.1 Sequential
Random Numbers
10.2 Parallel Random Numbers
10.3 Distributed Random
Generators
10.4 Summary
Exercises
Chapter Notes
11 Hypercube
Algorithms
11.1 The Hypercube Template
11.2 Vector Reduction
11.3
Matrix Transposition
11.4 Mergesort
11.5 Summary
Exercises
Chapter Notes
12 Further Reading
References
Index
Designing and Building Parallel Programs