-
Notifications
You must be signed in to change notification settings - Fork 131
Home
Developed at Lawrence Livermore National Laboratory (LLNL), ROSE is an open source compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C (C89 and C98), C++ (C++98 and C++11), UPC, Fortran (77, 95, 2003), OpenMP, Java, Python, PHP, and Binary applications. ROSE users range from experienced compiler researchers to library and tool developers who may have minimal compiler experience. ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security.
The primary goal of the ROSE project is to optimize applications within the U.S. Department of Energy (DOE).
ROSE aims to be:
- A library (and set of associated tools) to quickly and easily apply compiler techniques to one's code in order to improve application performance and developer productivity.
- A research and development compiler infrastructure for for writing custom source-to-source translators to perform source code transformations, analysis, and optimizations.
Links
- ROSE Doxgen API
- Main site: http://rosecompiler.org/ROSE_HTML_Reference/index.html
- Backup site: https://rose-compiler.github.io/
- FAQ
- The ROSE Wikibook is the community editable documentation.
Some docs are no longer maintained and may be out of date, but still contain useful information.
- Developer's Guide (pdf)
- User Manaual (pdf)
- General Tutorials (pdf)
- Publications
- Recent News
As a backup, they are also saved at https://github.com/rose-compiler/docs .
- Cutting-edge research on source- and high-level compiler analysis and optimization algorithms.
- Best-practice software development to incorporate existing compiler techniques to and develop new ones.
- Pre-built ROSE tools to perform program transformation, analysis and optimization of source code.
- An easy-to-use API to build customized, domain-specific compiler-based analysis, transformation, and optimization tools.
- Binary Installation:
- Build From Source:
- General ROSE installation instructions: Install Rose From Source.
- System specific instructions:
- Source Install Using Spack
- Windows 10 supports Ubuntu through the Windows Subsystem for Linux. You can install Ubuntu as a Windows App and then install ROSE inside Ubuntu.
- Install ROSE with Clang as frontend
- For Users of ROSE-based Tools
- For Developers of ROSE-based Tools
- For Developers of ROSE Core libraries
Project Lead: Dan Quinlan
Staff (listed in alphabetical order by last name):
- Jim Leek
- Chunhua Liao
- Pei-Hung Lin
- Robb Matzke
- Matt Sottile
- Tristan Vanderbruggen
- Qing Yi
Post-doc: