<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<item>
  <id>05730073</id>
  <dt>a</dt>
  <an>05730073</an>
  <augroup>
    <au>Liao, Chunhua</au>
    <au>Quinlan, Daniel J.</au>
    <au>Vuduc, Richard</au>
    <au>Panas, Thomas</au>
  </augroup>
  <ti>Effective source-to-source outlining to support whole program empirical optimization.</ti>
  <so>Gao, Guang R. (ed.) et al., Languages and compilers for parallel computing. 22nd international workshop, LCPC 2009, Newark, DE, USA, October 8--10, 2009. Revised selected papers. Berlin: Springer (ISBN 978-3-642-13373-2/pbk). Lecture Notes in Computer Science 5898, 308-322 (2010).</so>
  <py>2010</py>
  <pu>Berlin: Springer</pu>
  <lagroup>
    <la>EN</la>
  </lagroup>
  <ccgroup>
  </ccgroup>
  <utgroup>
  </utgroup>
  <cigroup>
  </cigroup>
  <ligroup>
    <li>doi:10.1007/978-3-642-13374-9_21</li>
  </ligroup>
  <abgroup>
    <ab>Summary: Although automated empirical performance optimization and tuning is well-studied for kernels and domain-specific libraries, a current research grand challenge is how to extend these methodologies and tools to significantly larger sequential and parallel applications. In this context, we present the ROSE source-to-source outliner, which addresses the problem of extracting tunable kernels out of whole programs, thereby helping to convert the challenging whole-program tuning problem into a set of more manageable kernel tuning tasks. Our outliner aims to handle large scale C/C++, Fortran and OpenMP applications. A set of program analysis and transformation techniques are utilized to enhance the portability, scalability, and interoperability of source-to-source outlining. More importantly, the generated kernels preserve performance characteristics of tuning targets and can be easily handled by other tools. Preliminary evaluations have shown that the ROSE outliner serves as a key component within an end-to-end empirical optimization system and enables a wide range of sequential and parallel optimization opportunities.</ab>
    <rv></rv>
  </abgroup>
</item>