Evaluation Optimization for Loops and Expressions |
Project Overview
The EOLE project is developped by the Computer Science Center (Centre de Recherche en Informatique) at Ecole des Mines de Paris. The main part of this project is done by Julien Zory as a PhD thesis work. Fabien Coelho also contributes to this work.
The overall goal is to define and implement new compilation techniques that improve the performance of scientific applications. Expressions and Loops constitute the two major targets of this optimizing process.
Contents
Algebraic properties such as associativity or distributivity allow the manipulation of a set of mathematically equivalent expressions. However, the cost of evaluating such expressions on a computer is not constant within this domain.
We use algebraic transformations to improve the performances of computationally intensive applications on modern architecture computers. Taking into account instruction-level parallelism and new capabilities of processors when applying these transformations leads to large run-time improvements.
Due to a combinatorial explosion, associative-commutative pattern-matching techniques cannot systematically be used in that context. Thus, we have introduced two performance enhancing greedy heuristics providing factorization and multiply-add extraction. Efficient choice criteria based on a simple cost model are also used.
Experiments on real codes, including an excerpt from SPEC FP95 benchmarks, are very promising since we automatically obtain the same results as manual transformations, with a performance improvement by a factor of up to 3.
Implementation
References
Contacts
URL : http://cri.ensmp.fr/~zory/EOLE email : zory@cri.ensmp.fr |