Lab 6 - Benchmarks & Performance Tuning



Lab Steps


1.     Login to helix or felix (not tanner) and change the current directory to csc8400.

2.     Copy two files (mm.c & Makefile) from the directory /mnt/a/mdamian/systems/profile into your current directory, by typing in /mnt/a/mdamian/systems/installprof

A directory profile containing the two lab files will be created in your current directory.

3.     Use the Makefile to compile four versions of the mm.c program, by typing in make

4.     Run each and compare the performance results for each version, by typing in make run

5.     Create three additional versions of the matrix multiplication function with the goal of improving performance over the original version, and repeat the experiments to gather performance data.

6.     Calculate speedup (original execution time divided by improved execution time) for each of your three new versions as compared to the original. Do this for each of the four compilation methods (no optimization, -O, -O2 and –O3).


What to hand in


On the due date, please include all of the following in a single MS Word document, submitted via email:

o   your name and due date

o   description of the approach you used in your experiments

o   name of machine (or machines) you performed your experiments on

o   table of results:  version of “mm”, compiler flags used (or not), average execution time, speedup vs. original

o   graph of the results that clearly shows the differences in speedup

o   Any assumptions you made, problems you encountered, unexpected observations you made


Grading criteria