The University of Adelaide Australia

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

Project-related Honours/Masters reports

Brad Alexander, October 2007.