Definition
Automated performance tuning, or autotuning, is an automated process, guided by experiments, of selecting one from among a set of candidate program implementations to achieve some performance goal. “Performance goal” may mean, for instance, the minimization of execution time, energy delay, storage, or approximation error. An “experiment” is the execution of a benchmark and observation of its results with respect to the performance goal. A system that implements an autotuning process is referred to as an autotuner. An autotuner may be a stand-alone code generation system or may be part of a compiler.
Discussion
Introduction: From Manual to Automated Tuning
When tuning a code by hand, a human programmer typically engages in the following iterative process. Given an implementation, the programmer develops or modifies the program...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsBibliography
(2009). Collective Tuning Wiki. http://ctuning.org
(2010). International Workshop on Automatic Performance Tuning. http://iwapt.org
Aarts B, Barreteau M, Bodin F, Brinkhaus P, Chamski Z, Charles H-P, Eisenbeis C, Gurd J, Hoogerbrugge J, Hu P, Jalby W, Knijnenburg PMW, O’Boyle MFP, Rohou E, Sakellariou R, Schepers H, Seznec A, Stöhr E, Verhoeven M, Wijshoff HAG (1997) OCEANS: Optimizing Compilers for Embedded Applications. In: Proc. Euro- Par, vol 1300 of LNCS, Passau, Germany. Springer, Berlin / Heidelberg
Bilmes J, Asanovic K, Chin C-W, Demmel J (1997) Optimizing matrix multiply using PHiPAC: A portable, highperformance, ANSI C coding methodology. In Proc. ACM Int’l Conf Supercomputing (ICS), Vienna, Austria, pp 340–347
Center for Scalable Application Development Software (2009) Workshop on Libraries and Autotuning for Petascale Applications. http://cscads.rice.edu/workshops/summer09/autotuning
Chang PP, Mahlke SA, Mei W, Hwu W (1991) Using profile information to assist classic code optimizations. Software: Pract Exp 21(12):1301–1321
Covell MM, Myers CS, Oppenheim AV (1992) Symbolic and knowledge-based signal processing, chapter 2: computer-aided algorithm design and rearrangement. Signal Processing Series. Prentice-Hall, pp 30–87
Frigo M, Johnson SG (1999) A fast Fourier transform compiler. ACM SIGPLAN Notices 34(5):169–180. Origin: Proc. ACM Conf. Programming Language Design and Implementation (PLDI)
Graham SL, Kessler PB, McKusick MK (1982) gprof: A call graph execution profiler. ACM SIGPLAN Notices 17(6):120–126. Origin: Proc. ACM Conf. Programming Language Design and Implementation (PLDI)
Johnson JR, Johnson RW, Rodriguez D, Tolimieri R (1990) A methodology for designing, modifying, and implementing Fourier Transform algorithms on various architectures. Circuits, Syst Signal Process 9(4):449–500
Knuth DE (1971) An empirical study of FORTRAN programs. Software: Practice Exp 1(2):105–133
Moura JMF, Püschel M, Dongarra J, Padua D, (eds) (2005) Proceedings of the IEEE: Special Issue on Program Generation, Optimization, and Platform Adaptation, vol 93. IEEE Comp Soc. http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=30187&puNumber=5
Püschel M, Moura JMF, Johnson J, Padua D, Veloso M, Singer B, Xiong J, Franchetti F, Gacic A, Voronenko Y, Chen K, Johnson RW, Rizzolo N (2005) SPIRAL: Code generation for DSP transforms. Proc. IEEE: Special issue on “Program Generation, Optimization, and Platform Adaptation” 93(2):232–275
Rice JR (1969) A polyalgorithm for the automatic solution of nonlinear equations. In Proc. ACM Annual Conf./Annual Mtg. New York, pp 179–83
Rice JR (1976) The algorithm selection problem. In: Alt F, Rubinoff M, Yovits MC (eds) Adv Comp 15:65–117
Smith MD (2000) Overcoming the challenges to feedbackdirected optimization. ACM SIGPLAN Notices 35(7):1–11
Vuduc R, Demmel J, Bilmes J (2004) Statistical models for empirical search-based performance tuning. Int’l J High Performance Comp Appl (IJHPCA) 18(1):65–94
Whaley RC, Petitet A, Dongarra J (2001) Automated empirical optimizations of software and the ATLAS project. Parallel Comp (ParCo) 27(1–2):3–35
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Vuduc, R.W. (2011). Autotuning. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_68
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_68
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering