Elsevier

Parallel Computing

Volume 10, Issue 1, March 1989, Pages 15-28
Parallel Computing

Automatic transformation of high-level object-oriented specifications into parallel programs

https://doi.org/10.1016/0167-8191(89)90074-4Get rights and content

Abstract

The basic principles and the overall design of the automatic transformation system SUSPENSE (SUprenum SPEcification tool for Numerical SoftwareE), which transforms specifications into parallel programs, are presented.

The system supports a high-level specification language for partial differetial equations (PDEs) and related areas in numerical analysis. The language offers facilities to describe and manipulate numerical objects such as vectors, matrices, domains, grids etc. on a high level of abstraction. Sequential algorithms can be formulated by means of general iterators which describe (in contrast to procedural programming languages) only partial orders on objects. Parallelism is obtained in a domain-specific way by splitting numerical objects such as grids, vectors etc. into segments which will be processed in parallel.

The target language for the transformation system is the parallel FORTRAN dialect SUPRENUM-FORTRAN. This language is under development as a part of the German supercomputer project SUPRENUM.

Algorithms written and transformed in SUSPENSE are tailored to the parallel SUPRENUM machine which consists of up to 256 processors with local memory only and message-based communication.

SUSPENSE demonstrates that well-known theoretical concepts from computer science such as high-level specifications, design by ‘stepwise refinement’ etc., work well in the field of numerical analysis and the generation of parallel programs.

References (32)

  • D.G Bobrow et al.

    An overview of KRL

    Cognitive Sci.

    (1977)
  • R.M Burstall et al.

    An informal introduction ro specifications using CLEAR

  • E.W Dijkstra

    Guarded commands, nondeterminacy and formal derivation of programs

    Comm. ACM

    (1975)
  • E Ehses et al.

    MIMD-Fortran, GMD-Report

    (1986)
  • J.A Goguen et al.

    An introduction to OBJ: a language for writing and testing formal algebraic program specifications

  • J.A Goguen et al.

    An initial algebra approach to the specification, correctness and implementation of abstract data types

  • Cited by (9)

    • Kranc: a Mathematica package to generate numerical codes for tensorial evolution equations

      2006, Computer Physics Communications
      Citation Excerpt :

      While the first approach avoids mixing of technologies, the second approach uses specialized technologies to deal with parts of the problem. For previous work on generating code from high-level problem descriptions see also Refs. [3–8]. We decided to adopt the second strategy for the following reasons.

    • Programming for exascale computers

      2013, Computing in Science and Engineering
    • C Parallelizing Pre-processor for Flosolver Mk3

      1998, Journal of the Institution of Engineers (India), Part CP: Computer Engineering Division
    • Code generation in ALPAL using symbolic techniques

      1992, Proceedings of the International Symposium on Symbolic and Algebraic Computation, ISSAC
    View all citing articles on Scopus

    The work described in this report is being carried out as part of the German Supercomputer project SUPRENUM and is funded by the Federal Ministry for Research and Technology, Fed. Rep. Germany, under grant number ITR8502D0. The authors assume all responsibility for the contents of this report.

    View full text