I was one of the first researchers to introduce the use of machine learning to optimize an optimizing compiler itself. Compilers typically contain many heuristics to solve hard problems approximately and efficiently. Finding heuristics that perform well on a broad range of applications and processors is one of the most complex tasks faced by compiler writers. My research involves using machine learning techniques to automatically construct compiler optimization heuristics. For example, I applied machine learning to construct an instruction scheduling heuristic, a heuristic that has been tuned for over 20 years with dozens of publications introducing small variations. Effectively, we removed a state-of-the-art heuristic and used machine learning to automatically generate a solution as good as the human-created solution [NIPS 1997]. We have shown that this technique can completely eliminate the human from heuristic design. My research on applying machine learning to compiler optimizations received the NSF CAREER award in 2009.
Selected Publications (ALL):
* Automatic Construction of Inlining Heuristics using Machine Learning
Sameer Kulkarni, John Cavazos, Christian Wimmer, and Douglas Simon.
* Software Automatic Tuning: From Concepts to State-of-the-Art Results.
Editors : Ken Naono, Keita Teranishi, John Cavazos, and Reiji Suda.
Next page: Current Research Projects