Paper Description: Herrmann04a
Title: Functional Meta-Programming in the Construction of Parallel Programs
BibTeX entry:
@InProceedings{Herrmann04a,
author={Christoph A.~Herrmann},
title={Functional Meta-Programming in the Construction of Parallel Programs},
booktitle={CMPP 2004: 4th International Workshop on Constructive
Methods for Parallel Programming},
editor={Sergei Gorlatch},
month=july,
year=2004,
publisher={Westf\"alische Wilhelms-Universit\"at M\"unster}
}
Abstract
Abstraction is important for the safe and predictable construction
of parallel programs. Because meta-programming in
MetaOCaml enables an analysis of
declarative specifications, it can provide abstract code construction without
incurring inefficiencies. In the parallel SPMD setting, each processor specializes
the program according to its particular role in the ensemble and then executes it.
Due to the hybrid nature of the implementation language Objective Caml, the
generated code can contain imperative features like loops and arrays, which is
important for efficient numerical computations.
An overview of the language MetaOCaml sketches the basic features of how
meta-programming works. A small example demonstrates how meta-programming can
generate the appropriate set of communications for a particular process from an
abstract specification.
The proposed approach distinguishes three levels of
abstraction and their instantiation in the domain
of parallel programming.
- Domain definition: a small
specification language defines the static parallel program structure.
This language comes with a cost model and a partial evaluator which
acts as a code transformer.
- Skeletons developed by domain experts: the specification language and
the meta-programming features of MetaOCaml are used to define a
function which generates code for a divide-and-conquer skeleton.
- Application program:
the application programmer composes the program using
skeletons, without the need to consider details
of parallelism.
Our example application is
Karatsuba's polynomial multiplication.
The experimental results for this
example demonstrate an encouraging efficiency, but also
the potential for further improvements.
Paper itself:
We are sorry, but due to an unclear copyright situation we cannot provide
a download of the paper from this site at the moment.
Author:
Paper-related information
Cross links:
Christoph A. Herrmann