The Adl Project
Summary
The Adl project is aimed at exploring techniques for
targeting a small functional language, called Adl, to distributed
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 implementation uses rewrite rules, specified as inference rules
using Natural-Semantics to specify the compilation process. The compilation
process is 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 maps this implementation from Centaur to Stratego, a language
for strategic rewriting. The core part of the optimiser, the array
Documents
- 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]
- 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, October 2007.
|