------------------------------------------------------------------------------- RELEASE ------------------------------------------------------------------------------- Cetus 1.4.0 Binary Release (January 24, 2013) Cetus 1.4.0 is only a binary release and a full release is forthcoming. Cetus is a source-to-source compiler infrastructure for C written in Java, and can be downloaded from http://cetus.ecn.purdue.edu. This version added a graphic user interface (GUI) and contains minor updates and fixes in the existing passes. ------------------------------------------------------------------------------- FEATURES/UPDATES ------------------------------------------------------------------------------- * New features - Added GUI into Cetus. GUI can be started by adding flag "-gui". - Turning off all flags makes the most powerful options. Running "cetus foo.c" or "java -jar cetusgui.jar foo.c" turns on the following options implicitly: -parser=cetus.base.grammars.CetusCParser -induction=3 -outdir=cetus_output -preprocessor=cpp-3.exe -E (for Windows) -preprocessor=cpp -C -I. (for Linux and Mac) -privatize=2 -reduction=2 -verbosity=0 -ddt=2 -parallelize-loops=1 -ompGen=1 -alias=1 -range=1 -teliminate-branch=1 -profitable-omp=1 - Cetus version check: Cetus will automatically check cetus.ecn.purdue.edu and remind user if new version is available. * Updates - Some numbers in options have been changed. * Bug fixes and improvements * Updates in flags ------------------------------------------------------------------------------- CONTENTS ------------------------------------------------------------------------------- This Cetus release has the following contents. lib - Archived classes (jar) src - Cetus source code license_antlr.txt - ANTLR license license.txt - Cetus license build.sh - Command line build script build.xml - Build configuration for Apache Ant readme.txt - This file readme_log.txt - Archived release notes readme_omp2gpu.txt - readme file for OpenMP-to-CUDA translator ------------------------------------------------------------------------------- REQUIREMENTS ------------------------------------------------------------------------------- * JAVA SE 6 * ANTLRv2 * GCC (Cygwin GCC for Windows OS) ------------------------------------------------------------------------------- INSTALLATION ------------------------------------------------------------------------------- * Obtain Cetus distribution The latest version of Cetus can be obtained at: http://cetus.ecn.purdue.edu/ * Binary Version For binary version (.jar) of Cetus, installation is not needed. * Unpack Users need to unpack the distribution before installing Cetus. $ cd $ gzip -d cetus.tar.gz | tar xvf - * Build There are several options for building Cetus: - For Apache Ant users The provided build.xml defines the build targets for Cetus. The available targets are "compile", "jar", "clean" and "javadoc". Users need to edit the location of the Antlr tool. - For Linux/Unix command line users Run the script build.sh after defining system-dependent variables in the script. - For SDK (Eclipse, Netbeans, etc) users First, build the parser with the Antlr tool. Then, follow the instructions of each SDK to set up a project. ------------------------------------------------------------------------------- RUNNING CETUS ------------------------------------------------------------------------------- Users can run Cetus in the following way: $ java -classpath= cetus.exec.Driver The "user_class_path" should include the class paths of Antlr and Cetus. "build.sh" and "build.xml" provides a target that generates a wrapper script for Cetus users. - Like previous versions, you can still run command line version of Cetus by running "cetus" or "java -jar cetusgui.jar" plus flags (options) and input C file, e.g. "cetus foo.c" or "java -jar cetusgui.jar foo.c" for processing C file with the default options. - You can start Cetus GUI by double-clicking cetusgui.jar if your OS supports it. You can also start Cetus GUI by running "java -jar cetusgui.jar" or "java -jar cetusgui.jar -gui" in command line. Starting Cetus GUI through command line should work on all Windows, Linux and Mac. Previous script "cetus" is still working and "cetus gui" starts GUI too. - If you want to process your C code by Cetus on Windows, a preprocessor, i.e. Cygwin gcc (cpp-3.exe), must be installed. However, compiling C code by Cetus with Cygwin on Windows has not been fully tested and is not guaranteed to work. Also, after installing Cygwin on Windows, the path to cpp-3.exe (e.g. C:\cygwin\bin) must be set in Environment Variables on Windows. - The binary version is only for personal and academic use, not for commercial use. The license files of ANTLR and Cetus are also included in cetusgui.jar. We will regularly update the binary version. Please always visit Cetus website and download the latest version. ------------------------------------------------------------------------------- TESTING ------------------------------------------------------------------------------- We have tested Cetus successfully using the following benchmark suites: * SPEC CPU2006 More information about this suite is available at http://www.spec.org * SPEC OMP2001 More information about this suite is available at http://www.spec.org * NPB 2.3 written in C More information about this suite is available at http://www.hpcs.cs.tsukuba.ac.jp/omni-openmp/ January 24, 2013 The Cetus Team URL: http://cetus.ecn.purdue.edu EMAIL: cetus@ecn.purdue.edu