The polyhedral model is more widely applicable than you think

  • Authors:
  • Mohamed-Walid Benabderrahmane;Louis-Noël Pouchet;Albert Cohen;Cédric Bastoul

  • Affiliations:
  • ALCHEMY Group, INRIA Saclay Île-de-France and University of Paris-Sud;ALCHEMY Group, INRIA Saclay Île-de-France and University of Paris-Sud;ALCHEMY Group, INRIA Saclay Île-de-France and University of Paris-Sud;ALCHEMY Group, INRIA Saclay Île-de-France and University of Paris-Sud

  • Venue:
  • CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The polyhedral model is a powerful framework for automatic optimization and parallelization. It is based on an algebraic representation of programs, allowing to construct and search for complex sequences of optimizations. This model is now mature and reaches production compilers. The main limitation of the polyhedral model is known to be its restriction to statically predictable, loop-based program parts. This paper removes this limitation, allowing to operate on general data-dependent control-flow. We embed control and exit predicates as first-class citizens of the algebraic representation, from program analysis to code generation. Complementing previous (partial) attempts in this direction, our work concentrates on extending the code generation step and does not compromise the expressiveness of the model. We present experimental evidence that our extension is relevant for program optimization and parallelization, showing performance improvements on benchmarks that were thought to be out of reach of the polyhedral model.