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.4.4
[Feb 2017]
Cetus Release 1.4.3
[May 2016]
Cetus Release 1.4.2
[December 2014]
Cetus Release 1.4.1
[June 2013]
Cetus Release 1.4.0
[February 2013]
Cetus Release 1.3.1
[June 2012]
Cetus Release 1.3
[June 2011]
Cetus Release 1.2.1
[September 2010]
Cetus Release 1.2
[May 2010]
Cetus Release 1.1
[July 2009]
Cetus Release 1.0
[September 2008]
Cetus Release 0.5.1
[November 2007]
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.
PACT '10 tutorial:
slides(PDF)
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.
- NPB 2.3 written in C
More information about original NAS Parallel Benchmark suite can be found here.
These papers describe in detail some aspects of Cetus and can be read
for tutorial purposes:
Cetus: A Source-to-Source Compiler Infrastructure for Multicores, Chirag Dave,
Hansang Bae, Seung-Jai Min, Seyong Lee, Rudolf Eigenmann, Samuel Midkiff, IEEE
Computer, vol. 42, no. 12, pp 36-42, Dec. 2009.
PDF
Cetus: A Source-to-Source Compiler Infrastructure for Multicores, Hansang Bae,
Leonardo Bachega, Chirag Dave, Sang-Ik Lee, Seyong Lee, Seung-Jai Min, Rudolf
Eigenmann, Samuel Midkiff, Proceedings of the 14th Int'l Workshop on Compilers
for Parallel Computing, CPC '09.
PDF
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