The Eighteenth International Conference on
Raleigh, North Carolina. September 12-16, 2009.
A genetic and source-to-source approach to iterative compilation
Serge Guelton, Institut Telecom, Telecom Bretagne
Advisor: Sebastien Varrette, University of Luxembourg
Developing and maintaining efﬁcient numerical codes generally require manual tuning at the expense of code clarity: Hand coding this optimization is clearly a long process that leads to obfuscated and unmaintainable codes. A ﬁrst step forward is the usage of source to source compilers. Such tools make it possible to select a particular transformation among the available ones (ex. loop unrolling), to parametrize it (ex. unroll factor) and to pick an application point (ex. loop label). It offers an interesting mean to distinguished between application and optimization layers. The fact remains that searching good optimizations among all the available ones is difﬁcult: Code transformations, their parameters and application point deﬁne a ﬁeld too large to be explored manually. To face this situation, production compilers use heuristics that give good result in most situation, yet the resulting binaries do not always ﬁt the performance requirement, specially in the loop transformation ﬁeld To go beyond these heuristics, we propose a genetic algorithm of the steady-state family that exploits many advantages of source to source compilers.