Efficient Auto-Tuning of Parallel Programs with Interdependent Tuning Parameters via Auto-Tuning Framework (ATF)
- 20 January 2021
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 18 (1), 1-26
- https://doi.org/10.1145/3427093
Abstract
Auto-tuning is a popular approach to program optimization: it automatically finds good configurations of a program’s so-called tuning parameters whose values are crucial for achieving high performance for a particular parallel architecture and characteristics of input/output data. We present three new contributions of the Auto-Tuning Framework (ATF), which enable a key advantage in general-purpose auto-tuning: efficiently optimizing programs whose tuning parameters have interdependencies among them. We make the following contributions to the three main phases of general-purpose auto-tuning: (1) ATF generates the search space of interdependent tuning parameters with high performance by efficiently exploiting parameter constraints; (2) ATF stores such search spaces efficiently in memory, based on a novel chain-of-trees search space structure; (3) ATF explores these search spaces faster, by employing a multi-dimensional search strategy on its chain-of-trees search space representation. Our experiments demonstrate that, compared to the state-of-the-art, general-purpose auto-tuning frameworks, ATF substantially improves generating, storing, and exploring the search space of interdependent tuning parameters, thereby enabling an efficient overall auto-tuning process for important applications from popular domains, including stencil computations, linear algebra routines, quantum chemistry computations, and data mining algorithms.Keywords
This publication has 47 references indexed in Scilit:
- PolyMageACM SIGPLAN Notices, 2015
- CaffePublished by Association for Computing Machinery (ACM) ,2014
- Nitro: A Framework for Adaptive Code Variant TuningPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Towards making autotuning mainstreamThe International Journal of High Performance Computing Applications, 2013
- Input-aware auto-tuning for directive-based GPU programmingPublished by Association for Computing Machinery (ACM) ,2013
- Reversal of Aberrant Cancer Methylome and Transcriptome upon Direct Reprogramming of Lung Cancer CellsScientific Reports, 2012
- Milepost GCC: Machine Learning Enabled Self-tuning CompilerInternational Journal of Parallel Programming, 2011
- Tuning parallel applications in parallelParallel Computing, 2009
- Fast searches for effective optimization phase sequencesPublished by Association for Computing Machinery (ACM) ,2004
- An optimal algorithm for approximate nearest neighbor searching fixed dimensionsJournal of the ACM, 1998