spacer
School of Computer Science The University of Adelaide Australia
Computer Science Home
Staff Only
text zoom: S | M | L

School of Computer Science
Level 4
Ingkarni Wardli Building
THE UNIVERSITY OF ADELAIDE
SA 5005
AUSTRALIA
Email

Telephone: +61 8 8313 4729
Facsimile: +61 8 8313 4366


You are here: Computer Science > users > brad> adl

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

Project-related Honours/Masters reports

Brad Alexander, January 2009.