Informatik-Hauptgebäude (50.34),
HS -101 (UG),
Am Fasanengarten 5, 76131 Karlsruhe
07.01.2011
10:00 Uhr
Choosing the right set of optimizations can make a significant difference in the running time of a program. However, compilers typically have a large number of optimizations to choose from, making it impossible to iterate over a significant fraction of the entire optimization search space. Recent research has proposed “intelligently” iterating over the optimization search space using predictive methods. In particular, state-the-art methods in iterative compilation techniques use characteristics of the code being optimized to predict good optimization sequences to evaluate. An important step in developing predictive methods for compilation is deciding how to model the problem of choosing the right optimizations.
In this talk, I will discuss three different ways of modeling the problem of choosing the right optimization sequences using machine learning techniques. I will present two novel prediction modeling techniques, namely a speedup predictor and a tournament predictor, and those are able to effectively predict good optimization sequences. I will show that these novel modeling techniques out-perform current state-of-the-art predictors and out-performs the most aggressive setting of the Open64 compiler (Ofast) on an average by more than 20% in just 10 iterations. I will also present results in applying our speedup predictor to drive a polyhedral optimizer. I will show that our speedup predictor can effectively determine the right polyhedral optimizations to apply significantly outperforming the Intel compiler.
Bio: John Cavazos is an Assistant Professor in the Department of Computer & Information Sciences at the University of Delaware. He graduated with a Ph.D. in Computer Science from the University of Massachusetts, Amherst in 2004. Before coming to Delaware, he did post-doctoral research in the School of Informatics at the University of Edinburgh, Scotland, UK. His research interests are in intelligent and iterative compilation and auto-tuning for computer systems, spanning embedded computers to large-scale supercomputers. He has experience in the construction and tuning of compilers and in using machine learning algorithms to solve hard systems problems.