Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
181 lines (135 sloc) 8.99 KB
// ****************************************************************************
// CAUTION: This file (as ROSE/ is used to
// generate <BUILD_TREE>/ in the build directory
// ****************************************************************************
\mainpage ROSE Web Reference
\image html compass_rose.gif
\authors LLNL Staff: \b Dan \b Quinlan, \b Chunhua \b Liao, and \b Justin \b Too \n
Former LLNL Post-docs (most of them are still active on ROSE project): \b Thomas \b Panas, \b Jeremiah \b Willcock,
\b Markus \b Schordan, \b Qing \b Yi, and \b Rich \b Vuduc \n
Student Interns at LLNL (Not yet kept up-to-date):
Gergo Barany (Technical University of Vienna),
Michael Byrd (University of California at Davis),
Gabriel Coutinho (Imperial College London),
Peter Collingbourne (Imperial College London),
Valentin David (University of Bergen, Norway),
Jochen Haerdtlein (University of Erlanger, Germany),
Vera Hauge (University of Oslo, Norway),
Christian Iwainsky (University of Erlanger, Germany),
Lingxiao Jiang (University of California at Davis),
Alin Jula (Texas A\&M),
Han Kim (University of California at San Diego),
Milind Kulkarni (Cornell University),
Markus Kowarschik (University of Erlanger, Germany),
Gary Lee (University of California at Berkeley and Purdue University),
Chunhua Liao (University of Houston),
Ghassan Misherghi. (University of California at Davis),
Peter Pirkelbauer (Texas A\&M),
Bobby Philip (University of Colorado),
Radu Popovici (Cornell University),
Robert Preissl (Austria),
Andreas Saebjornsen (University of Oslo, Norway),
Sunjeev Sikand (University of California at San Diego),
Andy Stone (Colorado State University at Fort Collins),
Danny Thorne (University of Kentucky),
Nils Thuerey (University of Erlanger, Germany),
Ramakrishna Upadrasta (Colorado State University at Fort Collins),
Christian Wiess(Munich University of Technology, Germany),
Jeremiah Willcock (Indiana University),
Brian White (Cornell University),
Gary Yuan (University of California at Davis), and
Yuan Zhao (Rice University).
\section IntroductionTag Introduction to ROSE
ROSE is a tool for building source-to-source translators (sometimes confused
with a preprocessor which is generally less sophisticated internally). ROSE is
particularly useful in building custom tools that operate on source code for
C, C99, C++, F77, F90, \& F2003. Fortran support is currently in development as
a result of collaboration with Los Alamos National Laboratory to use their version
of the Open Fortran Parser (OFP). Our use of ROSE
is focused on the development of optimizing source-to-source tools to support
development of large scale scientific applications (applications typically about
one million lines of code in size).
\section DocumentationTag ROSE Supporting Documentation
This Doxygen generated documentation serves as an html reference to classes within the
ROSE source code. There are three forms of documentation for ROSE (two of which are
available in both postscript and html), more information can be found at: \n
\ref AvailableDocumentation.
\subsection ROSE_WebSite ROSE Web Site
The ROSE Web Site is the main location to get more information
about the ROSE project. Built in 2005, it has been slow to evolve since we wanted to
keep a low profile as long as possible while we focused on robustness issues within
the ROSE project and infrastructure. \n
<a href=""> ROSE Web Site </a> \n
\subsection dummyA ROSE User Manual Documentation
The ROSE User Manual can be found at (link to LaTeX document): \n
<a href="../ROSE_UserManual/ROSE-@VERSION@-UserManual.pdf"> ROSE User Manual (pdf) </a>.
\subsection dummyB ROSE Tutorial Documentation
The ROSE Tutorial can be found at (link to LaTeX document): \n
<a href="../ROSE_Tutorial/ROSE-@VERSION@-Tutorial.pdf"> ROSE Tutorial (pdf) </a>.
\if debuggingDocumentation
Versions of ROSE documentation (made accessible for debugging only): \n
-# User (abbreviated) version with using tag files to include Sage III:
file:///home/dquinlan2/ROSE/DOCUMENTATION/USER_DRAFT_DOCS/docs/Rose/html/main.html \n
-# Developer (all possible documentation) version with using tag files to include Sage III:
file:///home/dquinlan2/ROSE/DOCUMENTATION/DEVELOPER_DRAFT_DOCS/docs/Rose/html/main.html \n
-# User (abbreviated) version with Sage III merged as in final form of Rose documentation:
file:///home/dquinlan2/ROSE/DOCUMENTATION/USER_FINAL_DOCS/docs/Rose/html/main.html \n
-# Developer (all possible documentation) version with Sage III merged as in final form of Rose documentation:
file:///home/dquinlan2/ROSE/DOCUMENTATION/DEVELOPER_FINAL_DOCS/docs/Rose/ROSE_WebPages/ROSE_HTML_Reference/index.html \n
\subsection dummyC ROSE Web Reference (this document)
The ROSE Web Reference documents the classes representing the Intermediate
Representation (IR) used in ROSE. The IR we use is derived from Sage++ and SageII
and is internally referred to as SageIII (with permission from the original authors of
Sage++ and SageII). \n
<a href="../ROSE_HTML_Reference/index.html"> ROSE Web Reference (this document) </a> \n
\subsection dummyD ROSE Email List
We have three mailing lists for core developers (those who have write access to
the internal repository), all developers (anyone who has write access to the
internal or external repository) and all users of ROSE (respectively). They are: \n
(rose-core *at* nersc *dot* gov), web interface:
<a href=""> </a> \n
(rose-developer *at* nersc *dot* gov), web interface:
<a href=""> </a> \n
(rose-public *at* nersc *dot* gov), web interface:
<a href=""> </a> \n
Note that this information is available in the following files: (this file, doxygen format), (doxygen format),
installRose.tex (LaTeX format), and developersAppendix.tex (LaTeX format).
\subsection RosePublications ROSE Publications
ROSE is a research project which emphasises publication about the new technologies
that we are developing, every often as part of external collaborations. Publications
specific to the ROSE project can be found at the main ROSE web page.\n\n
<a href="../ROSE_HTML_Reference/ProjectPublications.html">Project Publications</a>\n
<a href="../ROSE_HTML_Reference/ProjectTalks.html">Project Talks</a>\n
\section DownLoadInstructions ROSE Download Instructions
ROSE is an open source project. The ROSE project is publicly release via the web site (which hosts the main ROSE web page).
\if debuggingDocumentation
\section RoseRelatedWork Related Work & Background Material
For more information about related work and background material \ref ProjectRelatedWorkPage.
There are two levels of documentation: user level and developer level.
-# The user level documentation documents only the interfaces that are
important to the use of ROSE to build translators and express
transformations within them.
-# The developer level documentation documents all classes, data members,
and member functions (public, protected, and private).
\section dummy1 Download Instructions
ROSE is not presently released. However, we have made versions available to
a limited number of collaborators.
\section Documentation
Documentation is becoming available ... (please come back later)
\section dummy2 What is ROSE?
ROSE is a tool for building source-to-source translators (sometimes confused
with a preprocessors). Specifically we are focused on translators that will use
the semantics of user defined abstractions to provide additional information which
can be used to optimize the performance of scientific applications.
\subsection dummy3 Target Audience
There is a distinct and growing vacuum of compiler infrastructure, numerous tools
and optimizations are possible but the infrastructure is unavailable for commonly
used languages (C, C++, FORTRAN, etc.). Our target audience is library and tool
developers, people who don't have a compiler background but require mechanisms for
dealing with application codes. In doing this work we open up the compiler to the world ...