Code Generation for a Functional Language Targeted to a Parallel
Multithreaded Machine
The services of parallel machines are more and more required. This
tendency is driven by the high code volume of developed applications
as well as the complexity of the tasks to be executed by those
applications. Facing this reality, researchers are striving to find
new ways and methods to enhance the applications performance. As
functional languages are implicitly parallel, a possible strategy is
to construct a compiler for a functional language targeted towards
parallel machines. An interesting functional language is pH. This
language is equipped with a lenient evaluation mechanism which
improves the parallelism.
In this thesis, we are going to describe the code generator we
implemented for a pH compiler targeted towards the EARTH parallel
architecture. The code generator we developed is written in C;
however, the generated code is written in the EARTH Threaded-C
language.
To validate our code generator, we executed a number of test programs
covering most of the constructs used by the source language. In
addition, we studied the performance of some of the test
programs. This allowed us to analyze the performance gains
experimented with different processor configurations and to evaluate
the quantity of parallelism found in those programs.