Course Assignments
Hpc
This year HPC is organized as a joint research project.
The goal of the project is to improve and extend the vectorizer for Tiger developed by
Jozef Kruger and Arjen Langebaerd last year.
First of all their implementation should be fully understood, extended with tests, and
mercilessly refactored where necessary.
Possible extensions of the transformation include
- Multi-induction variable (MIV) analysis
- Vectorization in the presence of control dependences
- A scalarization transformation should be added to the compiler in order to support the extension of Tiger with vector operations on sequential machines.
- The interpreter should be extended to interpret vector operations and multi-dimensional arrays.
- The visualization of depence graphs now only shows automatically generated statement identifiers. For these graphs to be useful, either the statements should be printed in the nodes of the graph or a legend should be provided.
- More automatic tests of the transformation should be added.
Deliverables
The changes to the optimizer should be checked into the subversion repository.
A commit policy should be agreed upon in order to avoid conflicts and work
duplication.
The extended compiler should be described in a joint report.
Each student should keep a log of personal contributions.
Resources
- Tiger:WebHome - information about Tiger in Stratego
- Stratego:WebHome - information about Stratego/XT
The distribution of Tiger 1.2 is available from
- Tiger:DownloadAndInstallation
The latest version including the baseline vectorizer is available from the
subversion repository.
For development of the optimizations you only need the packages
tiger-front and
tiger-opt.
--
EelcoVisser - 06 Sep 2003