Future Technologies Colloquium Series


ROSE: Compiler Infrastructure for Custom Software Analysis, Transformation, and Optimization


Daniel Quinlan
Center for Applied Scientific Computing Lawrence Livermore National Laboratory
April 20, 2007
10:00 AM

ORNL 5100-Auditorium

Host: Jeff Vetter (vetter@ornl.gov )


ABSTRACT:

ROSE is a tool for building source-to-source transformation tools for the custom analysis of large scale scientific applications. Previous work has focused on C and C++ support and recent work has focused on the support for Fortran90 as part of collaborations with Rice and LANL. ROSE represents a mechanism to build translators that read the user's application source code and output highly optimized or customized application code. ROSE is the compiler-framework which permits library or application developers to build their own domain-specific source-to-source analyzers/translators/optimizers. The specification of transformations is made as easy as possible with non-compiler people as a target audience. Custom analysis of large scale applications is also simple to specify; ROSE supports a number of standard program analysis phases common to typical compilers, and is particularly focused on being easy to use. ROSE is an Open Source project, supporting large scale DOE applications (million line, plus) and includes substantial documentation. The output from a translator built from ROSE is itself the same as the input language (but transformed using customized analysis and transformations). The result is a compile time mechanism that leverages/wraps any vendor's compiler, but provides for highly specialized custom domain-specific analysis and/or optimizations. This work forms a part of research work on optimization of high level abstractions (custom code generation for telescoping languages) and Cyber-Security. This talk will present ROSE, some of the recent research, and examples of the use of ROSE along with opportunities for research collaborations. We will present the ongoing work on both optimization and Cyber-Security and discuss ROSE mechanisms well suited to supporting general optimization and security analysis of large scale applications.


# # #