The Cetus Source-to-Source Compiler Infrastructure: Overview and Evaluation

  • Authors:
  • Hansang Bae;Dheya Mustafa;Jae-Woo Lee; Aurangzeb;Hao Lin;Chirag Dave;Rudolf Eigenmann;Samuel P. Midkiff

  • Affiliations:
  • Purdue University, West Lafayette, USA 47907;Purdue University, West Lafayette, USA 47907;Purdue University, West Lafayette, USA 47907;Purdue University, West Lafayette, USA 47907;Purdue University, West Lafayette, USA 47907;Qualcomm, San Diego, USA 92121;Purdue University, West Lafayette, USA 47907;Purdue University, West Lafayette, USA 47907

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper provides an overview and an evaluation of the Cetus source-to-source compiler infrastructure. The original goal of the Cetus project was to create an easy-to-use compiler for research in automatic parallelization of C programs. In meantime, Cetus has been used for many additional program transformation tasks. It serves as a compiler infrastructure for many projects in the US and internationally. Recently, Cetus has been supported by the National Science Foundation to build a community resource. The compiler has gone through several iterations of benchmark studies and implementations of those techniques that could improve the parallel performance of these programs. These efforts have resulted in a system that favorably compares with state-of-the-art parallelizers, such as Intel's ICC. A key limitation of advanced optimizing compilers is their lack of runtime information, such as the program input data. We will discuss and evaluate several techniques that support dynamic optimization decisions. Finally, as there is an extensive body of proposed compiler analyses and transformations for parallelization, the question of the importance of the techniques arises. This paper evaluates the impact of the individual Cetus techniques on overall program performance.