"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)