**Tutorial exercises** are available on the web
here.
*Note that these may not be fully up to date until paper copies are actually d
istributed.*

These web pages are the on-line component of a 6-lecture course on parallelising and restructuring compilers. It introduces the issues and techniques involved in generating high performance code for sophisticated computer architectures by "restructuring" the program to expose parallelism and/or optimise locality.

Until 1996, this formed part of the fourth-year/MAC course "Compilers II" (419).

- Objectives
- To motivate the techniques like loop interchange and tiling by examining the performance characteristics of a selection of modern architectures
- To introduce dependence analysis of subscript expressions in loops
- To introduce the use of unimodular transformation matrices to represent, manipulate and evaluate alternative loop nest formulations
- Level of students
- This is a component of a second-level fourth-year undergraduate course organised by Dr Sophia Drossopoulou. The material builds on the Dragon book and Wolfe's textbook and includes research-level material.

**Textbook**

*High Performance Compilers for Parallel Computing* by Michael Wolfe
(Addison Wesley, 1996).