Generation of Efficient Nested Loops from Polyhedra

  • Authors:
  • Fabien Quilleré;Sanjay Rajopadhye;Doran Wilde

  • Affiliations:
  • Irisa, Campus de Beaulieu, F-35042 Rennes Cedex, Rennes, France;Irisa, Campus de Beaulieu, F-35042 Rennes Cedex, Rennes, France;Brigham Young University, Provo, Utah

  • Venue:
  • International Journal of Parallel Programming - Special issue on instruction-level parallelism and parallelizing compilation, part 2
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automatic parallelization in the polyhedral model is based on affine transformations from an original computation domain (iteration space) to a target space-time domain, often with a different transformation for each variable. Code generation is an often ignored step in this process that has a significant impact on the quality of the final code. It involves making a trade-off between code size and control code simplification/optimization. Previous methods of doing code generation are based on loop splitting, however they have nonoptimal behavior when working on parameterized programs. We present a general parameterized method for code generation based on dual representation of polyhedra. Our algorithm uses a simple recursion on the dimensions of the domains, and enables fine control over the tradeoff between code size and control overhead.