Autotuning in High-Performance Computing Applications

Prasanna Balaprakash, Jack Dongarra, Todd Gamblin, Mary Hall, Jeffrey K. Hollingsworth, Boyana Norris, Richard Vuduc

Research output: Contribution to journalArticlepeer-review

87 Scopus citations

Abstract

Autotuning refers to the automatic generation of a search space of possible implementations of a computation that are evaluated through models and/or empirical measurement to identify the most desirable implementation. Autotuning has the potential to dramatically improve the performance portability of petascale and exascale applications. To date, autotuning has been used primarily in high-performance applications through tunable libraries or previously tuned application code that is integrated directly into the application. This paper draws on the authors' extensive experience applying autotuning to high-performance applications, describing both successes and future challenges. If autotuning is to be widely used in the HPC community, researchers must address the software engineering challenges, manage configuration overheads, and continue to demonstrate significant performance gains and portability across architectures. In particular, tools that configure the application must be integrated into the application build process so that tuning can be reapplied as the application and target architectures evolve.

Original languageEnglish
Article number8423171
Pages (from-to)2068-2083
Number of pages16
JournalProceedings of the IEEE
Volume106
Issue number11
DOIs
StatePublished - Nov 2018

Funding

Manuscript received July 7, 2017; revised December 7, 2017; accepted January 15, 2018. Date of publication July 31, 2018; date of current version October 25, 2018. The work of P. Balaprakash and M. Hall was supported in part by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. The work of J. Dongarra was supported by the National Science Foundation under Award ACI-1642441. A portion of the work of T. Gamblin was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. The work of M. Hall, J. K. Hollingsworth, and B. Norris was supported by the U.S. Department of Energy, Office of Advanced Scientific Computing Research (ASCR), Scientific Discovery through Advanced Computing (SciDAC) program under Award ER26054. The work of M. Hall was additionally supported by National Science Award SHF-1564074. The work of J. K. Hollingsworth was additionally supported by the ASCR X-Stack Project under Award ER26143 and the Department of Defense through a contract with the University of Maryland. (Corresponding author: Mary Hall.) P. Balaprakash is with the Argonne National Laboratory, Argonne, IL 60439 USA. J. Dongarra is with the University of Tennessee, Knoxville, TN 37996 USA, with the Oak Ridge National Laboratory, Oak Ridge, TN 37831 USA, and also with the University of Manchester, Manchester M13 9PL, U.K. T. Gamblin is with the Lawrence Livermore National Laboratory, Livermore, CA 94550 USA. M. Hall is with the University of Utah, Salt Lake City, UT 84112 USA (e-mail: [email protected]). J. K. Hollingsworth is with the University of Maryland, College Park, MD 20742 USA. B. Norris is with the University of Oregon, Eugene, OR 97403 USA. R. Vuduc is with the Georgia Institute of Technology, Atlanta, GA 30332 USA.

Keywords

  • High-performance computing
  • performance tuning programming systems

Fingerprint

Dive into the research topics of 'Autotuning in High-Performance Computing Applications'. Together they form a unique fingerprint.

Cite this