Making computers go fast requires optimizing software that exploits the hardware. Exploring new hardware ideas requires hardware simulators, AND optimizing software matching the imagined hardware. It is time-consuming and error-prone to build these and get them to match. The CoGenT project is automating the building of simulators and matching software tools, so that more people can explore more ideas, more quickly, for modern computers and programming languages.

CoGenT, which stands for Co-Generation of (simulation and compilation) Tools, with machine descriptions. From instruction format, execution, and timing information, we produce predictive simulators for Java programs on the described hardware. The Java system includes optimizing and non-optimizing compilers, and we retarget both compilers to the target hardware. We do this by using the same description forms for the compiler's abstract machine as for the hardware target. We generate code generation rules by searching for target instructions to match each possible abstract code fragment. We are also concerned with automated construction of the rest of the compiler back end, and with efficiency of the simulators we build.

While certain hardware innovations clearly demand entirely new techniques to exploit them effectively, we automate those aspects addressed in the existing optimizing compiler. Our contributions lie in the increased degree of automation and integration of the techniques, and in improved simulator performance. While the primary setting is simulation, the results are useful in compiler retargeting, dynamic binary translation, and beyond.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0310988
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2003-08-15
Budget End
2007-07-31
Support Year
Fiscal Year
2003
Total Cost
$312,000
Indirect Cost
Name
University of Massachusetts Amherst
Department
Type
DUNS #
City
Amherst
State
MA
Country
United States
Zip Code
01003