Algorithmic skeletons for adaptive multigrid methods

  • George Horatiu Botorog
  • Herbert Kuchen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 980)


This paper presents a new approach to parallel programming with algorithmic skeletons, i.e. common parallelization patterns. We use an imperative language enhanced by some functional features as host for the embedding of the skeletons. This allows an efficient implementation and at the same time a high level of programming. In particular, low level communication problems such as deadlocks are avoided. Both data and process parallel skeletons can be used, but the emphasis is placed on the first category. By defining data parallel skeletons for dynamic data structures, we obtain constructs for handling problems with irregular and/or dynamic character. The implementation of an adaptive multigrid algorithm illustrates how such problems can be solved by using these constructs.


Algorithmic Skeletons Data Parallelism Adaptive Multigrid Imperative Host Languages MIMD-DM computers 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, M. Vanneschi: P 3 L: a Structured High-level Parallel Language and its Structured Support, Technical Report HPL-PSC-93-55, Pisa Science Center, Hewlett-Packard Laboratories, May 1993.Google Scholar
  2. 2.
    T. A. Bratvold: Parallelizing a Functional Program Using a List-Homomorphism Skeleton, in H. Hong (ed.) Parallel Symbolic Computation PASCO '94, Lecture Notes Series in Computing, Vol. 5, World Scientific, 1994.Google Scholar
  3. 3.
    M. I. Cole: Algorithmic Skeletons: Structured Management of Parallel Computation, MIT Press, 1989.Google Scholar
  4. 4.
    J. Darlington, A. J. Field, P. G. Harrison et al: Parallel Programming Using Skeleton Functions, in Proceedings of PARLE 93, LNCS 694, Springer-Verlag, 1993.Google Scholar
  5. 5.
    W. Hackbusch, U. Trottenberg: Multigrid Methods, Lecture Notes in Mathematics 960, Springer-Verlag, 1982.Google Scholar
  6. 6.
    H. Kuchen, R. Plasmeijer, H. Stoltze: Efficient Distributed Memory Implementation of Data Parallel Functional Languages, in Proceedings of PARLE 94, LNCS 817, Springer-Verlag, 1994.Google Scholar
  7. 7.
    L. D. J. C. Loyens, J. R. Moonen: ILIAS, a Sequential Language for Parallel Matrix Computations, in Proceedings of PARLE 94, LNCS 817, Springer-Verlag, 1994.Google Scholar
  8. 8.
    P. Pepper, M. Südholt, J. Exner. Functional Programming of Massively Parallel Systems, Technical Report No. 93-16, Technische Universität Berlin, 1993.Google Scholar
  9. 9.
    S. L. Peyton Jones: The Implementation of Functional Programming Languages, Prentice-Hall, 1987.Google Scholar
  10. 10.
    F. A. Rabhi: Exploiting Parallelism in Functional Languages: A “Paradigm-Oriented” Approach, in T. Lake, P. Dew (Eds.) Workshop on Abstract Machines for Highly Parallel Computers, Oxford University Press, 1993.Google Scholar
  11. 11.
    D. Skillicorn: Foundations of Parallel Programming, Cambridge Univ. Press, 1994.Google Scholar
  12. 12.
    P. Wadler: Deforestation: Transforming Programs to Eliminate Trees, in Theoretical Computer Science, No. 73, 1990, North-Holland.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • George Horatiu Botorog
    • 1
  • Herbert Kuchen
    • 1
  1. 1.Lehrstuhl für Informatik IIRWTH AachenAachenGermany

Personalised recommendations