Abstract
This paper will describe some recent attempts to construct transportable numerical software for high-performance computers. Restructuring algorithms in terms of simple linear algebra modules is reviewed. This technique has proved very succesful in obtaining a high level of transportability without severe loss of performance on a wide variety of both vector and parallel computers. The use of modules to encapsulate parallelism and reduce the ratio of data movement to floating-point operations has been demonstrably effective for regular problems such as those found in dense linear algebra. In other situations it may be necessary to express explicitly parallel algorithms. We also present a programming methodology that is useful for constructing new parallel algorithms which require sophisticated synchronization at a large grain level. We describe the SCHEDULE package which provides an environment for developing and analyzing explicitly parallel programs in FORTRAN which are portable. This package now includes a preprocessor to achieve complete portability of user level code and also a graphics post processor for performance analysis and debugging. We discuss details of porting both the SCHEDULE package and user code. Examples from linear algebra, and partial differential equations are used to illustrate the utility of this approach.
Original language | English |
---|---|
Pages (from-to) | 41-58 |
Number of pages | 18 |
Journal | Parallel Computing |
Volume | 8 |
Issue number | 1-3 |
DOIs | |
State | Published - Oct 1988 |
Externally published | Yes |
Funding
* Work supported in part by the Applied Mathematical Sciences subprogram of the Office of Energy Research, U.S. Department of Energy, under Contract W-31-109-Eng-38.
Funders | Funder number |
---|---|
Office of Energy Research | |
U.S. Department of Energy | W-31-109-Eng-38 |
Keywords
- Parallel programming
- portable parallel algorithms
- the package SCHEDULE