This volume contains papers presented at the NATO sponsored Advanced Research Workshop on "Software for Parallel Computation" held at the University of Calabria, Cosenza, Italy, from June 22 to June 26, 1992. The purpose of the workshop was to evaluate the current state-of-the-art of the software for parallel computation, identify the main factors inhibiting practical applications of parallel computers and suggest possible remedies. In particular it focused on parallel software, programming tools, and practical experience of using parallel computers for solving demanding problems. Critical issues relative to the practical use of parallel computing included: portability, reusability and debugging, parallelization of sequential programs, construction of parallel algorithms, and performance of parallel programs and systems. In addition to NATO, the principal sponsor, the following organizations provided a generous support for the workshop: CERFACS, France, C.I.R.A., Italy, C.N.R., Italy, University of Calabria, Italy, ALENIA, Italy, The Boeing Company, U.S.A., CISE, Italy, ENEL - D.S.R., Italy, Alliant Computer Systems, Bull RN Sud, Italy, Convex Computer, Digital Equipment Corporation, Rewlett Packard, Meiko Scientific, U.K., PARSYTEC Computer, Germany, TELMAT Informatique, France, Thinking Machines Corporation.
1 Introduction.- Software for Parallel Computing: Key Issues and Research Directions.- 2 Tools and Methods for Parallel Computing.- Learning From Our Successes.- Software Development for Parallel Processing.- Software Tools for Developing and Porting Parallel Programs.- Scalable Software Tools for Parallel Computations.- PVM and HeNCE: Tools for Heterogeneous Network Computing.- Distributed Shared Memory: Principles and Implementation.- FORGE 90 and High Performance Fortran (HPF).- The Bird-Meertens Formalism as a Parallel Model.- Software Issues for the PASM Parallel Processing System.- Data Migrations on the Hypercube.- Automatic Determination of Parallelism in Programs.- Are Object Oriented Programming Methods Suitable for Numerical Computing on Parallel Machines.- Parallel Relational Data Base Management System Design Aspects.- 3 Graphics.- MUDI3: a Tool for the Interactive Visual Analysis of Multidimensional Fields.- Graphical Support for Parallel Debugging.- 4 Algorithms and Applications.- Backpropagation on Distributed Memory Systems.- Mapping Algorithms on Hypercube.- Software Development for Finite Element Fluid Dynamic Applications.- Asynchronous Communication on Shared-Memory Parallel Computers.- Two Different Data-Parallel Implementations of the BLAS.- 5 Performance of Parallel Programs and Systems.- Examples of Scalable Performance.- Performance Prediction from Data Transport.- Dynamic Load Balancing in Adaptive Parallel Applications.- Performance Analysis of Dynamic Scheduling Techniques for Irregularly Structured Computation.