Title
Minimizing the cost of iterative compilation with active learning.
Abstract
Since performance is not portable between platforms, engineers must fine-tune heuristics for each processor in turn. This is such a laborious task that high-profile compilers, supporting many architectures, cannot keep up with hardware innovation and are actually out-of-date. Iterative compilation driven by machine learning has been shown to be efficient at generating portable optimization models automatically. However, good quality models require costly, repetitive, and extensive training which greatly hinders the wide adoption of this powerful technique. In this work, we show that much of this cost is spent collecting training data, runtime measurements for different optimization decisions, which contribute little to the final heuristic. Current implementations evaluate randomly chosen, often redundant, training examples a pre-configured, almost always excessive, number of times – a large source of wasted effort. Our approach optimizes not only the selection of training examples but also the number of samples per example, independently. To evaluate, we construct 11 high-quality models which use a combination of optimization settings to predict the runtime of benchmarks from the SPAPT suite. Our novel, broadly applicable, methodology is able to reduce the training overhead by up to 26x compared to an approach with a fixed number of sample runs, transforming what is potentially months of work into days.
Year
DOI
Venue
2017
10.1109/CGO.2017.7863744
CGO
Keywords
Field
DocType
Active Learning, Compilers, Iterative Compilation, Machine Learning, Sequential Analysis
Training set,Heuristic,Active learning,Noise measurement,Suite,Computer science,Parallel computing,Implementation,Compiler,Real-time computing,Heuristics
Conference
ISSN
ISBN
Citations 
2164-2397
978-1-5090-4931-8
17
PageRank 
References 
Authors
0.54
36
4
Name
Order
Citations
PageRank
William F. Ogilvie1210.93
Pavlos Petoumenos220013.23
Zheng Wang321518.10
Hugh Leather418214.33