Education Page

Helium
change the link to the education page

High performance compilers

Website:website containing additional information
Course code:INFHPC
Credits:6 ECTS (=4.2 old credit points)
Period:periode 1 (week 36 t/m 43, dwz 2-9-2002 t/m 25-10-2002; herkansing week 1)
Participants:up till now 6 subscriptions
Schedule:Dit is een oud rooster!
formgrouptimeweekroomteacher
seminar   ma 15-1736-43 BBL-108a Eelco Visser
 
do 13-1536-43 BBL-108a
Contents: Optimizing compilers are essential tools for getting good implementations of high-level languages. By leaving optimizations to the compiler, programmers can concentrate on well-designed, maintainable programs.

Between parsing the input program and writing the generated machine code, optimizing compilers perform a wide range of transformations on a program to improve its time and space behaviour. In this course we study a selection of such optimizing transformations and their implementation in Stratego, a language for program transformation based on the paradigm of rewriting strategies. In this year's installment of the seminar we will focus on loop optimizations.

In previous versions of this course a compiler for Andrew Appel's Tiger language was built. In this year's installment we will take a basic Tiger compiler in Stratego as given and extend it with loop optimizations.

Literature:We will use the following book (chapters 1 to 6) as the main text of the seminar:
  • Randy Allen and Ken Kennedy. Optimizing Compilers for Modern Architectures: A Dependence-based Approach, Morgan Kauffman, 2001.
The following book gives an overview of the phases of a compiler for the Tiger language:
  • Andrew Appel. Modern Compiler Implementation in C, Cambridge Univ. Press, 1998.
Further literature consists of articles about Stratego and SPIM that will be handed out in class.
Course form:The course is a seminar in which you will give several presentations. The implementation of the compiler extension that you develop should be accompanied by a paper that describes the extension, the programming techniques that you used, and that discusses its relation to the literature.

Exam form:The final grade will be determined by your presentations (40%) and (the report about) the compiler extension that you develop (60%).
Minimum effort to qualify for 2nd chance exam:Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.
wijzigen?


The page above is included from http://www.cs.uu.nl/education/vak.php?vak=hpc&jaar=2002