Improving the parallelism of iterative methods by aggressive loop fusion

  • Authors:
  • Jingling Xue;Minyi Guo;Daming Wei

  • Affiliations:
  • Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, Australia 2052;School of Computer Science and Engineering, The University of Aizu, Fukushima, Japan 965-8580;School of Computer Science and Engineering, The University of Aizu, Fukushima, Japan 965-8580

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditionally, loop nests are fused only when the data dependences in the loop nests are not violated. This paper presents a new loop fusion algorithm that is capable of fusing loop nests in the presence of fusion-preventing anti-dependences. All the violated anti-dependences are removed by automatic array copying. As a case study, this aggressive loop fusion strategy is applied to a Jacobi solver. The performance of iterative methods is typically limited by the speed of the memory system. Fusing the two loop nests in the Jacobi solver into one reduces data cache misses, and consequently, improves the performance results of both sequential and parallel versions of the Jacobi program, as validated by our experimental results on an HP AlphaServer SC45 supercomputer.