Automatic Performance Tuning and Machine Learning

Automatic Performance Tuning and Machine Learning

Markus Püschel, Computer Science ETH, Zurich, Switzerland

Automatic performance tuning has emerged as a paradigm complementing traditional compilers to port software and performance between platforms. Several techniques have proven useful including adaptive libraries, program generation, domain-specific languages, and models. However, one technique is shared by almost all approaches: search for the fastest among a set of alternative implementations. Typically the search space is huge and hence the search is costly. This may be bearable in offline tuning (e.g., ATLAS) that is performed during installation but becomes cumbersome in online tuning (e.g., FFTW) that is performed at runtime since the input size is required. We argue that machine learning, which has already been studied and used in the compiler community, can solve this problem and should be added to the portfolio of performance tuning tools. As example we show a successful approach to automatically convert Spiral-generated online-tunable transform libraries into offline-tunable ones.

Markus Püschel is a Professor of Computer Science at ETH Zurich, Switzerland since 2010. Before, he was a Professor of Electrical and Computer Engineering at Carnegie Mellon University, where he still has an adjunct status. He received his Diploma (M.Sc.) in Mathematics and his Doctorate (Ph.D.) in Computer Science, in 1995 and 1998, respectively, both from the University of Karlsruhe, Germany. He is a recipient of the Outstanding Research Award of the College of Engineering at Carnegie Mellon and the Eta Kappa Nu Award for Outstanding Teaching. He also holds the title of Privatdozent at the University of Technology, Vienna, Austria. In 2009 he cofounded SpiralGen Inc. His research revolves around automating the production of high performance software for applications of a mathematical nature (the Spiral project). He is also interested in fundamental signal processing theory and algorithms.