The Adl Project
Summary
The Adl project is aimed at exploring techniques for
targeting a small functional language, called Adl, to message-passing
parallel machines. A prototype implementations has been
built that translates point-wise Adl programs into point-free BMF,
optimises code to eliminate most superflous data flows between
operations and then parallelises the resulting code.
The original implementation uses rewrite rules, specified as inference rules
using Natural-Semantics to specify the compilation process. The compilation
process was then executed using the Centaur system. The inference
rules apply changes to the code in an incremental, systematic and
pervasive fashion. Heavy use is made of normalisation to bring code
to a form that is more easily optimised.
Ongoing work has reimplemented the front-end of this
compiler in Stratego, a language
for strategic rewriting. Results so far are promising producing
good performance on a range of benchmarks using a much smaller
set of rules that the original implementation.
An Instrumented version of the compiler, able to produce
a complete derivation trace of the optimisation process has
been derived from the original optimiser with the help
of Meta-Stratego. These traces have been linked to a performance
model to produce the cost-traces below.
Work continues on the development of rules to perform
common sub-expression elimination, the prevention of redundant
re-optimisation of code. Experiments also continue on automatic
evolution of some parts of the optimiser.
Artifacts
Artifacts from the compiler including stratego source code:
Documents
- Constructing an Optimisation Phase Using Grammatical Evolution, to be presented at The 2009 IEEE Congress on Evolutionary Computation, CEC 2009.
- Data Movement Optimisation in Point-Free Form [pdf], Presented at The 11th International Conference on
Algebraic Methodology and Software Technology, AMAST '06.
- A Simple Programming Model
for New-Generation Hardware[pdf], Presented at
The Seconde International Workshop on Object Systems
and Software Architectures (2006)
- Abstract of Thesis [pdf]
- Final Draft Thesis [pdf] (note, some larger diagrams don't render properly with mac OS preview but will render with evince)
- Automated Transformation of
BMF Programs[pdf], Presented at
The First International Workshop on Object Systems
and Software Architectures (2004)
- A supercomputer
implementation of a functional data parallel
language [postscript],
Proceedings of the Conference on High Performance Functional
Computing (HPFC'95), Denver, Colorado, USA.
-
Mapping Adl to the Bird-Meertens Formalism [postscript], TR 94-18 Department of Computer Science, University of Adelaide.
Project-related Honours/Masters reports
Brad Alexander, January 2009.
|