A comparison of empirical and model-driven optimization
- 9 May 2003
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 38 (5) , 63-76
- https://doi.org/10.1145/781131.781140
Abstract
Empirical program optimizers estimate the values of key optimization parameters by generating different program versions and running them on the actual hardware to determine which values give the best performance. In contrast, conventional compilers use models of programs and machines to choose these parameters. It is widely believed that model-driven optimization does not compete with empirical optimization, but few quantitative comparisons have been done to date. To make such a comparison, we replaced the empirical optimization engine in ATLAS (a system for generating a dense numerical linear algebra library called the BLAS) with a model-driven optimization engine that used detailed models to estimate values for optimization parameters, and then measured the relative performance of the two systems on three different hardware platforms. Our experiments show that model-driven optimization can be surprisingly effective, and can generate code whose performance is comparable to that of code generated by empirical optimizers for the BLAS.Keywords
This publication has 12 references indexed in Scilit:
- Estimating cache misses and locality using stack distancesPublished by Association for Computing Machinery (ACM) ,2003
- SPLPublished by Association for Computing Machinery (ACM) ,2001
- Improving data locality with loop transformationsACM Transactions on Programming Languages and Systems, 1996
- Counting solutions to linear and nonlinear constraints through Ehrhart polynomialsPublished by Association for Computing Machinery (ACM) ,1996
- Tile size selection using cache organization and data layoutPublished by Association for Computing Machinery (ACM) ,1995
- (Pen)-ultimate tiling?Integration, 1994
- MOB formsPublished by Association for Computing Machinery (ACM) ,1994
- Tiling multidimensional iteration spaces for multicomputersJournal of Parallel and Distributed Computing, 1992
- The cache performance and optimizations of blocked algorithmsPublished by Association for Computing Machinery (ACM) ,1991
- Organizing matrices and matrix operations for paged memory systemsCommunications of the ACM, 1969