OpenTuner: an extensible framework for program autotuning
Author(s)
Ansel, Jason; Kamil, Shoaib; Veeramachaneni, Kalyan; Ragan-Kelley, Jonathan; Bosboom, Jeffrey; O'Reilly, Una-May; Amarasinghe, Saman; ... Show more Show less
DownloadAccepted version (465.3Kb)
Open Access Policy
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Program autotuning has been shown to achieve better or more portable performance in a number of domains. However, autotuners themselves are rarely portable between projects, for a number of reasons: using a domain-informed search space representation is critical to achieving good results; search spaces can be intractably large and require advanced machine learning techniques; and the landscape of search spaces can vary greatly between different problems, sometimes requiring domain specific search techniques to explore efficiently. This paper introduces OpenTuner, a new open source framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully-customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the program to be autotuned. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously; techniques that perform well will dynamically be allocated a larger proportion of tests. We demonstrate the efficacy and generality of OpenTuner by building autotuners for 7 distinct projects and 16 total benchmarks, showing speedups over prior techniques of these projects of up to 2.8x with little programmer effort. © 2014 ACM.
Date issued
2014-08-24Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryPublisher
ACM
Citation
Ansel, Jason, Kamil, Shoaib, Veeramachaneni, Kalyan, Ragan-Kelley, Jonathan, Bosboom, Jeffrey et al. 2014. "OpenTuner: an extensible framework for program autotuning."
Version: Author's final manuscript