Programming methodology and performance issues for advanced computer architectures

Jack J. Dongarra, Danny C. Sorensen, Kathryn Connolly, Jim Patterson

Research output: Contribution to journalArticlepeer-review

7 Scopus citations

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 languageEnglish
Pages (from-to)41-58
Number of pages18
JournalParallel Computing
Volume8
Issue number1-3
DOIs
StatePublished - Oct 1988
Externally publishedYes

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.

FundersFunder number
Office of Energy Research
U.S. Department of EnergyW-31-109-Eng-38

    Keywords

    • Parallel programming
    • portable parallel algorithms
    • the package SCHEDULE

    Fingerprint

    Dive into the research topics of 'Programming methodology and performance issues for advanced computer architectures'. Together they form a unique fingerprint.

    Cite this