Compiler Optimisation 2011 - 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 17/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