Polyhedral Code Generation In The Real World - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2006

Polyhedral Code Generation In The Real World


The polyhedral model is known to be a powerful framework to reason about high level loop transformations. Recent developments in optimizing compilers broke some generally accepted ideas about the limitations of this model. First, thanks to advances in dependence analysis for irregular access patterns, its applicability which was supposed to be limited to very simple loop nests has been extended to wide code regions. Then, new algorithms made it possible to compute the target code for hundreds of statements while this code generation step was expected not to be scalable. Such theoretical advances and new software tools allowed actors from both academia and industry to study more complex and realistic cases. Unfortunately, despite strong optimization potential of a given transformation for e.g., parallelism or data locality, code generation may still be challenging or result in high control overhead. This paper presents scalable code generation methods that make possible the application of increasingly complex program transformations. By studying the transformations themselves, we show how it is possible to benefit from their properties to dramatically improve both code generation quality and space/time complexity, with respect to the best state-of-the-art code generation tool. In addition, we build on these improvements to present a new algorithm improving generated code performance for strided domains and reindexed schedules.
Fichier principal
Vignette du fichier
cc06.pdf (144.67 Ko) Télécharger le fichier

Dates and versions

inria-00001106 , version 1 (09-02-2006)


  • HAL Id : inria-00001106 , version 1


Nicolas Vasilache, Cédric Bastoul, Albert Cohen. Polyhedral Code Generation In The Real World. CC, 2006, Vienne. ⟨inria-00001106⟩
265 View
293 Download


Gmail Facebook Twitter LinkedIn More