TY - GEN
T1 - Performance search engine driven by prior knowledge of optimization
AU - Kim, Youngsung
AU - Černý, Pavol
AU - Dennis, John
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/6/13
Y1 - 2015/6/13
N2 - For scientific array-based programs, optimization for a particular target platform is a hard problem. There are many optimization techniques such as (semantics-preserving) source code transformations, compiler directives, environment variables, and compiler flags that influence performance. Moreover, the performance impact of (combinations of) these factors is unpredictable. This paper focuses on providing a platform for automatically searching through search space consisting of such optimization techniques. We provide (i) a search-space description language, which enables the user to describe optimization options to be used; (ii) search engine that enables testing the performance impact of optimization options by executing optimized programs and checking their results; and (iii) an interface for implementing various search algorithms. We evaluate our platform by using two simple search algorithms - a random search and a casetree search that heuristically learns from the already examined parts of the search space. We show that such algorithms are easily implementable in our platform, and we empirically find that the framework can be used to find useful optimized algorithms.
AB - For scientific array-based programs, optimization for a particular target platform is a hard problem. There are many optimization techniques such as (semantics-preserving) source code transformations, compiler directives, environment variables, and compiler flags that influence performance. Moreover, the performance impact of (combinations of) these factors is unpredictable. This paper focuses on providing a platform for automatically searching through search space consisting of such optimization techniques. We provide (i) a search-space description language, which enables the user to describe optimization options to be used; (ii) search engine that enables testing the performance impact of optimization options by executing optimized programs and checking their results; and (iii) an interface for implementing various search algorithms. We evaluate our platform by using two simple search algorithms - a random search and a casetree search that heuristically learns from the already examined parts of the search space. We show that such algorithms are easily implementable in our platform, and we empirically find that the framework can be used to find useful optimized algorithms.
KW - Automated optimization
KW - Code generation
KW - Performance
KW - Scientific computing
UR - http://www.scopus.com/inward/record.url?scp=84979747362&partnerID=8YFLogxK
U2 - 10.1145/2774959.2774963
DO - 10.1145/2774959.2774963
M3 - Conference contribution
AN - SCOPUS:84979747362
T3 - ARRAY 2015 - Proceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, co-located with PLDI 2015
SP - 25
EP - 30
BT - ARRAY 2015 - Proceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, co-located with PLDI 2015
A2 - Vitek, Jan
A2 - Masuhara, Hidehiko
A2 - Sheeran, Mary
A2 - Hendren, Laurie
PB - Association for Computing Machinery, Inc
T2 - 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, ARRAY 2015
Y2 - 13 June 2015
ER -