"Solving Large Systems of Differential Equations
in Parallel Using Covers and Skeletons" (ALC '97)
Authors:
Mario Südholt,
Christian Piepenbrock, Klaus Obermayer,
Peter Pepper
Date: February 1997
Presented at the "50th IFIP WG 2.1 Working Conference on Algorithmic
Languages and Calculi", Strasbourg
The design and implementation of parallel algorithms for
distributed memory architectures is much harder than the
development of sequential algorithms. This is mainly due to
the communication and synchronization that is necessary to
manage distributed data correctly. This paper applies a
methodology for the transformational derivation of parallel
programs using data distribution algebras that
enable an abstract description of data distribution issues.
Algorithms are formulated using skeletons, that is,
specialized higher-order functions with particular parallel
implementations. The methodology is applied to a the
solution of a system of ordinary differential
equations where convolutions can be computed using the
Fast Fourier transformation. The example illustrates the
practical optimization problems for a development model of
the visual system that involves large scale neural network
simulations. Finally, this algorithm is compared to an
implementation of the same system of equations in the
programming language C* on a CM-5.
Keywords: Functional programming, parallel programming, numerical algorithm,
program transformation, skeleton, data distribution algebra
@InProceedings{ spop97a,
author = {M. S{\"u}dholt and C. Piepenbrock and K. Obermayer and P.
Pepper},
title = {Solving Large Systems of Differential Equations using
Covers and Skeletons},
booktitle = {50th IFIP WG 2.1 Working Conference on
Algorithmic Languages and Calculi},
year = {1997},
publisher = {Chapman \& Hall},
month = {Feb}
}
compressed Postscript file (150 KB)