CS612 Homework #3

Due date: April 1st, 2003 - In class

NEWS:

In this assignment, you will integrate transformations for locality enhancement into a BCCK compiler pass and evaluate the performance of the compiler-generated code. You should use the updated version of the BCCK, found here.

1.  Code Transformations

Create a BCCK pass to do all of the following:

2.  Code Testing

Compile the supplied C code file with your tiling transformation and without.  Compare the running times of the resulting programs.  Test you code for several values of K.

3. Tile size selection

A number of models have been proposed for automatically finding the "optimal" tile size, K. The approach used by Atlas, a system for automatically generating performance-tuned version of BLAS routines, is to use brute forward search.

For this part of the assignment, you are to implement a strategy for choosing a value of K based upon search. In other words, devise a strategy whereby your compiler generates tiled code for a number of different values of K, measures the performance of all of them, and chooses the version with the best performance.

What you must submit:


Last Updated: Sunday, March 30, 2003 12:59:32 PM