Final Report A Multi-Language Environment For Programmable Code Optimization and Empirical Tuning | |
Yi, Qing1  Whaley, Richard Clint2  Qasem, Apan3  Quinlan, Daniel4  | |
[1] Univ. of Colorado, Colorado Springs, CO (United States);Univ. of Texas, San Antonio, TX (United States);Texas State Univ., San Marcos, TX (United States);Lawrence Livermore National Lab. | |
关键词: Compilers; program optimizations; high performance computing; | |
DOI : 10.2172/1124136 RP-ID : DOE-UTSA--0001770 PID : OSTI ID: 1124136 |
|
学科分类:数学(综合) | |
美国|英语 | |
来源: SciTech Connect | |
【 摘 要 】
This report summarizes our effort and results of building an integrated optimization environment to effectively combine the programmable control and the empirical tuning of source-to-source compiler optimizations within the framework of multiple existing languages, specifically C, C++, and Fortran. The environment contains two main components: the ROSE analysis engine, which is based on the ROSE C/C++/Fortran2003 source-to-source compiler developed by Co-PI Dr.Quinlan et. al at DOE/LLNL, and the POET transformation engine, which is based on an interpreted program transformation language developed by Dr. Yi at University of Texas at San Antonio (UTSA). The ROSE analysis engine performs advanced compiler analysis, identifies profitable code transformations, and then produces output in POET, a language designed to provide programmable control of compiler optimizations to application developers and to support the parameterization of architecture-sensitive optimizations so that their configurations can be empirically tuned later. This POET output can then be ported to different machines together with the user application, where a POET-based search engine empirically reconfigures the parameterized optimizations until satisfactory performance is found. Computational specialists can write POET scripts to directly control the optimization of their code. Application developers can interact with ROSE to obtain optimization feedback as well as provide domain-specific knowledge and high-level optimization strategies. The optimization environment is expected to support different levels of automation and programmer intervention, from fully-automated tuning to semi-automated development and to manual programmable control.
【 预 览 】
Files | Size | Format | View |
---|---|---|---|
RO201704180000436LZ | 394KB | download |