Abstract
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.
The work of this author is supported by the “Graduiertenkolleg Informatik und Technik” at the RWTH Aachen.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
M. I. Cole: Algorithmic Skeletons: Structured Management of Parallel Computation, MIT Press, 1989.
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.
W. Hackbusch, U. Trottenberg: Multigrid Methods, Lecture Notes in Mathematics 960, Springer-Verlag, 1982.
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.
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.
P. Pepper, M. Südholt, J. Exner. Functional Programming of Massively Parallel Systems, Technical Report No. 93-16, Technische Universität Berlin, 1993.
S. L. Peyton Jones: The Implementation of Functional Programming Languages, Prentice-Hall, 1987.
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.
D. Skillicorn: Foundations of Parallel Programming, Cambridge Univ. Press, 1994.
P. Wadler: Deforestation: Transforming Programs to Eliminate Trees, in Theoretical Computer Science, No. 73, 1990, North-Holland.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Botorog, G.H., Kuchen, H. (1995). Algorithmic skeletons for adaptive multigrid methods. In: Ferreira, A., Rolim, J. (eds) Parallel Algorithms for Irregularly Structured Problems. IRREGULAR 1995. Lecture Notes in Computer Science, vol 980. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60321-2_2
Download citation
DOI: https://doi.org/10.1007/3-540-60321-2_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60321-4
Online ISBN: 978-3-540-44915-7
eBook Packages: Springer Book Archive