Distinguished Lecture Series 2009-2010: John Cavazos
Intelligent Compliers
John Cavazos, University of Delaware
Abstract
Compilers are a critical component between the software developer and the computer. They translate application written by software developers into machine code that is processed by the computer. An important task of a compiler is to "optimize" applications so that they run efficiently. Traditional methods to develop optimizing compilers are ad-hoc, labor-intensive, and ineffective. As a consequence, optimizing compilers for a new processor often produces code that achieves only a fraction of the machine's available performance. This is especially true for today's multi-core architectures, which are parallel processors on a single chip. This talk discusses research on investigating techniques from the artificial intelligence community that allow a compiler to automatically adapt and tune to new architectures. In effect, the research presented in this talk have replaced hand-tuning with self-tuning compilers that adapt software automatically to match the performance characteristics of each target architecture.
In this talk, we will discuss the viability of developing adaptive compilers to allow application portability while still achieving high performance. I discuss work to create a statistical auto-tuning framework to support the probabilistic representation of the benefit analysis of optimizations. I present work in this talk on techniques to replace "traditional" optimization benefit analysis with powerful machine learning models. These models address the broad spectrum of applications and processor environments.
Biography
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. In addition to his research activities, he has been actively involved in mentoring students. He has attended several mentoring workshops and has co-organized two mentoring workshops to encourage students to obtain a Ph.D. in computer science.

