Documentation

We have developed documents describing the Cetus compiler infrastructure. Several will be added in the near future. The current resources available are:

Release Notes

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]

First time users

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.

Manuals

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.

Tutorials

PACT '10 tutorial: slides(PDF)
ICS '09 tutorial: slides(PDF)
PPoPP '09 tutorial: slides(PDF)
LCPC'04 tutorial: slides(PDF), tutorial paper(PDF)

Benchmark Suites

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.

Papers describing the infrastructure

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

Other documents

C FAQ
C Grammar
C Standard

C++ FAQ
C++ Standard

Java 1.5
Java API

Antlr