OpenTuner: An extensible framework for program autotuning
By Jason Ansel, Shoaib Kamil, Kalyan Veeramachaneni, Jonathan Ragan-Kelley, Jeffrey Bosboom, Una-May O'Reilly, Saman P. Amarasinghe. International Conference on Parallel Architectures and Compilation Techniques, 2014
656 citations recorded by the source corpus.
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.8χ with little programmer effort.
Subfields: Hardware and Architecture, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/1ccaac0fdcc5ab37a45d0cc616feeaa67a3d4ca1
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Hardware and Architecture
- Arvind Krishnamurthy
- Koushik Sen
- Luis Ceze
- Carlos Guestrin
- Joseph E. Gonzalez
- Sara Hooker
- Sparsh Mittal
In Information Systems
- Adam Bates
- Arvind Krishnamurthy
- Koushik Sen
- Luis Ceze
- Carlos Guestrin
- Isabelle M Guyon
- Margo I. Seltzer
- Tianqi Chen
In Software
- Koushik Sen
- Joseph E. Gonzalez
- Sara Hooker
- Patrice Godefroid
- Gordon Fraser
- Corina S. Pasareanu
- Andrea Arcuri
- Cristian Cadar
Citations in the corpus
- UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats (2020, methodology): “We used OpenTuner [11] to enable program autotuning.”
- TVM: An Automated End-to-End Optimizing Compiler for Deep Learning (2018, methodology): “TLAS [46] and FFTW [15] use auto-tuning to get the best performance. Tensor comprehension [42] applied black-box auto-tuning together with polyhedral optimizations to optimize CUDA kernels. OpenTuner [5] and existing hyper parameter-tuning algorithms [26] apply domainagnostic search. A predefined cos”
- The hardware lottery (2020, methodology): “This facilitates easier deployment by tailoring the program to achieve good performance and load balancing on a variety of hardware (Don-garra et al., 2018; Clint Whaley et al., 2001; Asanović et al., 2006; Ansel et al., 2014).”
- Bayesian Optimization is Superior to Random Search for Machine Learning Hyperparameter Tuning: Analysis of the Black-Box Optimization Challenge 2020 (2021, methodology): “The starter kit provided examples using the default configurations of several different optimization packages: Hyperopt [5], Nevergrad [54], OpenTuner [1], pySOT [14], Scikit-Optimize [30], and TuRBO [15], which serve as baselines.”
- Ansor : Generating High-Performance Tensor Programs for Deep Learning (2020, background): “OpenTuner [4] is a general framework for program auto-tuning based on multi-armed bandit approaches.”