Introduction

Parallelizing compilers are one of the most powerful tools at the disposal of developers and domain scientists to perform the tedious task of identifying opportunities for parallelization in scientific applications. Today the this technology has technology has matured and has reached a point where we now have a number of source to source translators – (Cetus, Rose, Clava to name a few) which can automatically produce a fully parallel version of the input C program. Of all these compiler infrastructures, Cetus is the state-of-the-art, proving time and again to be the most successful in improving the performance of a wide range of scientific applications. Our goal is to make Cetus as powerful as possible by incorporating more sophisticated analysis and transformation techniques and be capable enough to handle the todays’ applications. With this in mind, we are releasing Cetus 2.0, the next iteration of Cetus with major and minor bug fixes and feature additions. This manual serves as the guide to details of the existing and newly added techniques in Cetus.