We have developed documents describing the Cetus compiler
infrastructure. Several will be added in the near future. The current
resources available are:
Cetus Release 1.1
Cetus Release 1.0
Cetus Release 0.5.1
Archived Release Notes
For users who have downloaded Cetus for the first time and are less
acquainted with the internals, we suggest the following steps.
- Look at the Tutorials section below and go through the most recent
tutorial in detail. The tutorials describe high level concepts
such as the passes available in Cetus and how they can be run via
the command line. For users looking to modify Cetus, the tutorials
also have in depth explanations related to the IR, modifying the IR,
example passes and so on.
- Having understood the tutorials, the next logical step would be to
briefly familiarize yourself with the Cetus Java API, also in the
section below. Start by looking at the API for classes that would
be relevant to your work. Working with Cetus will help you learn
more about the API as time progresses.
- The Cetus Manual in the section below provides detailed information
and is constantly updated on this website. Continue to refer back to
it as you work on Cetus and come across new analysis and transformation
passes.
The Cetus
API: a javadoc automatically generated documentation of the Cetus
classes. This is very useful since most of the Cetus classes are
self-explanatory
The Cetus Compiler Manual: This guide is currently under development.
Please email us with any questions if in doubt.
ICS '09 tutorial:
slides(PDF)
PPoPP '09 tutorial:
slides(PDF)
LCPC'04 tutorial: slides(PDF),
tutorial
paper(PDF)
We are currently working with the following benchmarks on Cetus.
- SPECCPU 2006
- SPECOMP 2001
More information about these suites can be found on the SPEC website
at www.spec.org.
- NPB3.0
More information about the NAS Parallel Benchmark suite can be found at
their website here.
These papers describe in detail some aspects of Cetus and can be read
for tutorial purposes:
Experiences in using Cetus for Source-to-Source transformations, Troy A. Johnson,
Sang-Ik Lee, Long Fei, Ayon Basumallik, Gautam Upadhyaya, Rudolf Eigenmann,
Samuel Midkiff, LCPC '04 (unreviewed tutorial supplement).
PDF
Automatic Parallelization with Cetus, Hansang Bae,
Leonardo Bachega, Chirag Dave, Sang-Ik Lee, Seyong Lee, Seung-Jai Min, Rudolf
Eigenmann, Samuel Midkiff, Technical Report HPCLAB, ECE, Purdue University.
PDF
C FAQ
C Grammar
C Standard
C++ FAQ
C++ Standard
Java 1.5
Java API
Antlr