arrow
Return

Statistical models for empirical search-based performance tuning

delete2004-02-01
delete61
delete
OA
AI
R
Richard Vuduc
D
Demmel, JW
B
Bilmes, JA
DOI:10.1177/1094342004041293delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Achieving peak performance from the computational kernels that dominate application performance often requires extensive machine-dependent tuning by hand. Automatic tuning systems have emerged in response, and they typically operate by (1) generating a large number of possible, reasonable implementations of a kernel, and (2) selecting the fastest implementation by a combination of heuristic modeling, heuristic pruning, and empirical search (i.e. actually running the code). This paper presents quantitative data that motivate the development of such a search-based system, using dense matrix multiply as a case study. The statistical distributions of performance within spaces of reasonable implementations, when observed on a variety of hardware platforms, lead us to pose and address two general problems which arise during the search process. First, we develop a heuristic for stopping an exhaustive compile-time search early if a near-optimal implementation is found. Secondly, we show how to construct run-time decision rules, based on run-time inputs, for selecting from among a subset of the best implementations when the space of inputs can be described by continuously varying features. We address both problems by using statistical modeling techniques that exploit the large amount of performance data collected during the search. We demonstrate these methods on actual performance data collected by the PHiPAC tuning system for dense matrix multiply. We close with a survey of recent projects that use or otherwise advocate an empirical search-based approach to code generation and algorithm selection, whether at the level of computational kernels, compiler and run-time systems, or problem-solving environments. Collectively, these efforts suggest a number of possible software architectures for constructing platform-adapted libraries and applications.
Keywords:
algorithm selection
automatic performance tuning
early stopping
feedback-directed optimization
matrix multiplication
performance distribution
performance optimization
software engineering
support vector method
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

International Journal of High Performance Computing Applications cover
International Journal of High Performance Computing Applications
IF:
2.5
Papers:
1.1K
Citations:
1.3K

Organization

No organization information available