Interactive loop interchanging: a facility for tuning sequential programs to parallel architectures

  • Authors:
  • Bassel R. Arafeh

  • Affiliations:
  • Auburn University, Alabama

  • Venue:
  • CSC '89 Proceedings of the 17th conference on ACM Annual Computer Science Conference
  • Year:
  • 1989

Quantified Score

Hi-index 0.00

Visualization

Abstract

Loop interchanging is a powerful restructuring technique proposed for detecting implicit parallelism in conventional programming languages [1,3]. There are several reasons for loop interchanging, and these are the same reasons that make the technique suitable for tuning programs to parallel architectures. Some of the major reasons for loop interchanging are vectorizing inner-most loops for vector machines, parallelizing outer-most loops for multiprocessor machines, and optimizing the vectorization/parallelization performance of loops. Loop interchanging done for the reason of vectorizing/-parallelizing loops could be employed by a complier in a one-shot decision procedure. When the goals of loop interchanging are more general, as for optimizing the performance of vectorized/parallelized loops, the process becomes infeasible for vectorizing or parallelizing compilers.