Compiler Optimisation 2010 - Course Project 2

General Information

In Compiler Optimization-Space Exploration (CGO 2003), Triantafyllis et al. describe an approach for quickly exploring the space of compiler optimisations. The goal of this project is to implement an optimisation strategy based on their approach and to evaluate it on the benchmarks used in the first course work (see below).

Project Slides (extended)



Compiler Optimisation 2010 - Course Project 1

General Information

The goal of the project is to optimise the performance of a set of benchmark programs by finding sets of compiler optimisations that improve the performance of single benchmarks, as well as compiler optimisations that improve the overall performance.
At the end, a report is to be written that describes the methodology and findings of your work.

The deadline is 25/02/2010 4pm

If you have further question, please e-mail me at dominik.grewe@ed.ac.uk

Project Slides

Instructions

Download and extract the SPEC CPU2006 benchmarks:
wget http://www.inf.ed.ac.uk/teaching/courses/copt/spec.tgz
tar xzf spec.tgz
cd spec/

To compile a benchmark with certain optimisations, change to its source directory and call "make", setting "CFLAGS" to the list of optimisations you want to use (make sure to enclose multiple optimisations in quotation marks), e.g.:
cd 400.perlbench/src/
make CFLAGS="-funroll-loops --param max-unroll-times=4"
To then run this program, change to the parent directory and call the "run.sh" script:
cd ../
./run.sh
This will execute the benchmarks with inputs from the data directory.

Documentation