On the automatic parallelization of the Perfect Benchmarks®

Rudolf Eigenmann, Jay Hoeflinger, David Padua

Research output: Contribution to journalArticlepeer-review


This paper presents the results of the Cedar Hand-Parallelization Experiment, conducted from 1989 through 1992, within the Center for Supercomputing Research and Development (CSRD) at the University of Illinois. In this experiment, we manually transformed the Perfect Benchmarks® into parallel program versions. In doing so, we used techniques that may be automated in an optimizing compiler. We then ran these programs on the Cedar multiprocessor (built at CSRD during the 1980s) and measured the speed improvement due to each technique. The results presented here extend the findings previously reported in [11]. The techniques credited most for the performance gains include array privatization, parallelization of reduction operations, and the substitution of generalized induction variables. All these techniques can be considered extensions of transformations that were available in vectorizers and commercial restructuring compilers of the late 1980s. We applied these transformations by hand to the given programs, in a mechanical manner, similar to that of a parallelizing compiler. Because of our success with these transformations, we believed that it would be possible to implement many of these techniques in a new parallelizing compiler. Such a compiler has been completed in the meantime and we show preliminary results.

Original languageEnglish (US)
Pages (from-to)5-23
Number of pages19
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number1
StatePublished - 1998


  • Parallelization techniques
  • Performance evaluation
  • Program parallelization
  • Restructuring compilers

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'On the automatic parallelization of the Perfect Benchmarks®'. Together they form a unique fingerprint.

Cite this