The Community for Technology Leaders
Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2013)
Edinburgh, United Kingdom United Kingdom
Sept. 7, 2013 to Sept. 11, 2013
ISSN: 1089-795X
ISBN: 978-1-4799-1018-2
pp: iv
Herbert Jordan , Institute of Computer Science / University of Innsbruck, Innsbruck, Austria
Simone Pellegrini , Institute of Computer Science / University of Innsbruck, Innsbruck, Austria
Peter Thoman , Institute of Computer Science / University of Innsbruck, Innsbruck, Austria
Klaus Kofler , Institute of Computer Science / University of Innsbruck, Innsbruck, Austria
Thomas Fahringer , Institute of Computer Science / University of Innsbruck, Innsbruck, Austria
ABSTRACT

Programming standards like OpenMP, OpenCL and MPI are frequently considered programming languages for developing parallel applications for their respective kind of architecture. Nevertheless, compilers treat them like ordinary APIs utilized by an otherwise sequential host language. Their parallel control flow remains hidden within opaque runtime library calls which are embedded within a sequential intermediate representation lacking the concepts of parallelism. Consequently, the tuning and coordination of parallelism is clearly beyond the scope of conventional optimizing compilers and hence left to the programmer or the runtime system.

The main objective of the Insieme compiler is to overcome this limitation by utilizing INSPIRE, a unified, parallel, high-level intermediate representation. Instead of mapping parallel constructs and APIs to external routines, their behavior is modeled explicitly using a unified and fixed set of parallel language constructs. Making the parallel control flow accessible to the compiler lays the foundation for the development of reusable, static and dynamic analyses and transformations bridging the gap between a variety of parallel paradigms.

Within this paper we describe the structure of INSPIRE and elaborate the considerations which influenced its design. Furthermore, we demonstrate its expressiveness by illustrating the encoding of a variety of parallel language constructs and we evaluate its ability to preserve performance relevant aspects of input codes.

INDEX TERMS
parallel computation, high-level program analysis, intermediate representation
CITATION
Herbert Jordan, Simone Pellegrini, Peter Thoman, Klaus Kofler, Thomas Fahringer, "INSPIRE: the insieme parallel intermediate representation", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. iv, 2013, doi:10.1109/PACT.2013.6618792
316 ms
(Ver 3.3 (11022016))