DocumentCode
639322
Title
Parallel frame rendering: trading responsiveness for energy on a mobile GPU
Author
Jordan, Herbert ; Pellegrini, Simone ; Thoman, Peter ; Kofler, Klaus ; Fahringer, Thomas
Author_Institution
Inst. of Comput. Sci., Univ. of Innsbruck, Innsbruck, Austria
fYear
2013
fDate
7-11 Sept. 2013
Firstpage
83
Lastpage
92
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, highlevel 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.
Keywords
application program interfaces; data flow analysis; optimising compilers; parallel languages; parallel programming; software libraries; software performance evaluation; software standards; API; INSPIRE; Insieme compiler; dynamic analysis; high level intermediate representation; high-level program analysis; insieme parallel intermediate representation; optimizing compilers; parallel application development; parallel control flow; parallel language constructs; parallelism coordination; parallelism tuning; performance evaluation; programming languages; programming standards; reusable analysis; routines; runtime library calls; runtime system; sequential host language; sequential intermediate representation; static analysis; Abstracts; Arrays; Instruction sets; Optimization; Parallel processing; Runtime; Tuning; memory bandwidth; mobile GPU; rendering;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architectures and Compilation Techniques (PACT), 2013 22nd International Conference on
Conference_Location
Edinburgh
ISSN
1089-795X
Print_ISBN
978-1-4799-1018-2
Type
conf
DOI
10.1109/PACT.2013.6618799
Filename
6618799
Link To Document