Formal derivation of SIMD parallelism from non-linear recursive specifications

  • A. Max Geerling
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)


This paper presents a strategy for deriving SIMD-parallel (Single-Instruction-Multiple-Data) programs in a transformational style by parallelisation of non-linear recursive specifications. Parallelism is expressed by means of so-called skeletons.

Linear array and hypercube architectures and their skeletons are discussed in some detail. The strategy described is illustrated by derivations, such as the transformation of a generic specification for divide & conquer algorithms to an efficient implementation on hypercube architectures.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    F.L. Bauer, R. Berghammer, M. Broy, W. Dosch, F. Geiselbrechtinger, R. Gnatz, E. Hangel, W. Hesse, B. Krieg-Brückner, A. Laut, T. Matzner, B. Möller, F. Nickl, H. Partsch, P. Pepper, K. Samelson, M. Wirsing, and H. Wössner. The Munich Project CIP. Volume I: The Wide Spectrum Language CIP-L, volume 183 of Lecture Notes in Computer Science. Springer-Verlag, Berlin/Heidelberg/New York, 1985.Google Scholar
  2. 2.
    E.A. Boiten, A.M. Geerling, and H.A. Partsch. Transformational derivation of (parallel) programs using skeletons. In H.A.G. Wijshoff, editor, Computing Science in the Netherlands 1993, pages 97–108, 1993.Google Scholar
  3. 3.
    F.L. Bauer and H. Wössner. Algorithmic Language and Program Development. Springer-Verlag, Berlin, 1982.Google Scholar
  4. 4.
    M. Chen and Y. Choo. Domain morphisms: A new construct for parallel programming and formalizing program optimization. Technical Report YALEU/DCS/TR-817, Dept. of Computer Science, Yale University, 1990.Google Scholar
  5. 5.
    M. Chen, Y. Choo, and J. Li. Compiling parallel programs by optimizing performance. The Journal of Supercomputing, 2:171–207, 1988.Google Scholar
  6. 6.
    M.I. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman, London, 1989.Google Scholar
  7. 7.
    J. Darlington, A.J. Field, P.G. Harrison, P.H.J. Kelly, D.W.N. Sharp, Q. Wu, and R.L. While. Parallel programming using skeleton functions. In PARLE'93 Parallel Architectures and Languages Europe, volume 694 of Lecture Notes in Computer Science, pages 146–160. Springer-Verlag, 1993.Google Scholar
  8. 8.
    M.S. Feather. A survey and classification of some program transformation approaches and techniques. In L.G.L.T. Meertens, editor, Program Specification and Transformation. Proceedings of the IFIP TC2/WG2.1 Working Conference on Program Specification and Transformation, pages 165–196, Amsterdam, 1987. North-Holland Publishing Company.Google Scholar
  9. 9.
    P.J.M. Frederiks. From applicative specifications to parallel programs. Master's thesis, Dept. of Computing Science, University of Nijmegen, 1992.Google Scholar
  10. 10.
    A.M. Geerling. Two examples of parallel-program derivation: Parallel-prefix and matrix multiplication. Research Report DoC 92/33, Imperial College London, 1992.Google Scholar
  11. 11.
    A.M. Geerling. Formal derivation of SIMD parallelism from non-linear recursive specifications. Technical Report CSI-R9324, Computing Science Institute, University of Nijmegen, 1993.Google Scholar
  12. 12.
    P.G. Harrison. A higher-order approach to parallel algorithms. The Computer Journal, 35(6):555–566, December 1992.Google Scholar
  13. 13.
    H.A. Partsch. Specification and Transformation of Programs — a Formal Approach to Software Development. Springer-Verlag, Berlin, 1990.Google Scholar
  14. 14.
    H. Partsch. Some experiments in transforming towards parallel executability. In R. Paige, J. Reif, and R. Wachter, editors, Parallel Algorithm Derivation and Program Transformation, Kluwer Academic Publishers, 1993. Also: Technical Report 92-08, Dept. of Computing Science, University of Nijmegen, 1992.Google Scholar
  15. 15.
    M.J. Quinn. Designing efficient algorithms for parallel computers. McGraw-Hill, New York, 1987.Google Scholar
  16. 16.
    D.B. Skillicorn. Architecture-independent parallel computation. IEEE Computer, 23(12):38–50, December 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • A. Max Geerling
    • 1
  1. 1.Computing Science InstituteUniversity of NijmegenED NijmegenThe Netherlands

Personalised recommendations