On the Automatic Parallelization of the Perfect Benchmarks®

  • Authors:
  • Rudolf Eigenmann;Jay Hoeflinger;David Padua

  • Affiliations:
  • Purdue Univ., West Lafayette, IN;Univ. of Illinois, Urbana;Univ. of Illinois, Urbana

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.