DocumentCode
1218002
Title
Is Search Really Necessary to Generate High-Performance BLAS?
Author
Yotov, K. ; Li, X. ; Ren, G. ; Garzaran, M.J.S. ; Padua, D. ; Pingali, K. ; Stodghill, P.
Author_Institution
Dept. of Comput. Sci., Cornell Univ., Ithaca, NY, USA
Volume
93
Issue
2
fYear
2005
Firstpage
358
Lastpage
386
Abstract
A key step in program optimization is the estimation of optimal values for parameters such as tile sizes and loop unrolling factors. Traditional compilers use simple analytical models to compute these values. In contrast, library generators like ATLAS use global search over the space of parameter values by generating programs with many different combinations of parameter values, and running them on the actual hardware to determine which values give the best performance. It is widely believed that traditional model-driven optimization cannot compete with search-based empirical optimization because tractable analytical models cannot capture all the complexities of modern high-performance architectures, but few quantitative comparisons have been done to date. To make such a comparison, we replaced the global search engine in ATLAS with a model-driven optimization engine and measured the relative performance of the code produced by the two systems on a variety of architectures. Since both systems use the same code generator, any differences in the performance of the code produced by the two systems can come only from differences in optimization parameter values. Our experiments show that model-driven optimization can be surprisingly effective and can generate code with performance comparable to that of code generated by ATLAS using global search.
Keywords
linear algebra; mathematics computing; optimising compilers; software libraries; ATLAS; BLAS; Basic Linear Algebra Subprograms; code generation; global search engine; library generators; model driven optimization engine; program compilers; program optimization; search based empirical optimization; Analytical models; Computer science; Hardware; Libraries; Linear algebra; Optimizing compilers; Program processors; Programming profession; Search engines; Basic Linear Algebra Subprograms (BLAS); compilers; empirical optimization; high-performance computing; library generators; model-driven optimization; program optimization;
fLanguage
English
Journal_Title
Proceedings of the IEEE
Publisher
ieee
ISSN
0018-9219
Type
jour
DOI
10.1109/JPROC.2004.840444
Filename
1386657
Link To Document