SPIRE, a Sequential to Parallel Intermediate Representation Extension

Dounia Khaldi, Pierre Jouvelot, Corinne Ancourt, Francois Irigoin
CRI, Mathematiques et systemes, MINES ParisTech, 35 rue Saint-Honore, 77300, Fontainebleau, France
Technical Report CRI/A-487, MINES ParisTech, 2012


   title={SPIRE, a Sequential to Parallel Intermediate Representation Extension},

   author={Khaldi, D. and Jouvelot, P. and Ancourt, C. and Irigoin, F.},


   institution={Technical Report CRI/A-487, MINES ParisTech}


Download Download (PDF)   View View   Source Source   



SPIRE is a new, generic, parallel extension for the intermediate representations used in compilation frameworks of sequential languages; it intends to easily leverage their existing infrastructure to address both control and data parallel languages. Since the efficiency and power of the transformations and optimizations performed by compilers are closely related to the presence of a suitable program representation, SPIRE introduces both abstract and low-level features adapted to a wide spectrum of optimization goals; a formal definition of its operational semantics is also provided. We use the PIPS intermediate representation as a use case for our approach, extend it with SPIRE parallel primitives and show how examples from the OpenCL, Habanero-Java and X10 parallel languages can be dealt with. Our goal with the development of SPIRE is to provide a powerful parallel program representation that will ease the design of efficient task partitioning applications and, more generally, to draw a possible roadmap for the compiler designers who need to introduce parallel features into their own infrastructures.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: