Reducing Training Time in a One-Shot Machine Learning-Based Compiler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Iterative compilation of applications has proved a popular and successful approach to achieving high performance. This however, is at the cost of many runs of the application. Machine learning based approaches overcome this at the expense of a large off-line training cost. This paper presents a new approach to dramatically reduce the training time of a machine learning based compiler. This is achieved by focusing on the programs which best characterize the optimization space. By using unsupervised clustering in the program feature space we are able to dramatically reduce the amount of time required to train a compiler. Furthermore, we are able to learn a model which dispenses with iterative search completely allowing integration within the normal program development cycle. We evaluated our clustering approach on the EEMBCv2 benchmark suite and show that we can reduce the number of training runs by more than a factor of 7. This translates into an average 1.14 speedup across the benchmark suite compared to the default highest optimization level.

Original languageEnglish
Title of host publicationLanguages and Compilers for Parallel Computing
EditorsGR Gao, LL Pollock, J Cavazos, X Li
Place of PublicationBERLIN
PublisherSpringer-Verlag GmbH
Pages399-407
Number of pages9
Volume5898
ISBN (Print)978-3-642-13373-2
DOIs
Publication statusPublished - 2010
Event22nd International Workshop on Languages and Compilers for Parallel Computing - Newark
Duration: 8 Oct 200910 Oct 2009

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin Heidelberg

Conference

Conference22nd International Workshop on Languages and Compilers for Parallel Computing
CityNewark
Period8/10/0910/10/09

Cite this