TY - GEN
T1 - Language extensions in support of compiler parallelization
AU - Shirako, Jun
AU - Kasahara, Hironori
AU - Sarkar, Vivek
PY - 2008/10/27
Y1 - 2008/10/27
N2 - In this paper, we propose an approach to automatic compiler parallelization based on language extensions that is applicable to a broader range of program structures and application domains than in past work. As a complement to ongoing work on high productivity languages for explicit parallelism, the basic idea in this paper is to make sequential languages more amenable to compiler parallelization by adding enforceable declarations and annotations. Specifically, we propose the addition of annotations and declarations related to multidimensional arrays, points, regions, array views, parameter intents, array and object privatization, pure methods, absence of exceptions, and gather/reduce computations. In many cases, these extensions are also motivated by best practices in software engineering, and can also contribute to performance improvements in sequential code. A detailed case study of the Java Grande Forum benchmark suite illustrates the obstacles to compiler parallelization in current object-oriented languages, and shows that the extensions proposed in this paper can be effective in enabling compiler parallelization. The results in this paper motivate future work on building an automatically parallelizing compiler for the language extensions proposed in this paper.
AB - In this paper, we propose an approach to automatic compiler parallelization based on language extensions that is applicable to a broader range of program structures and application domains than in past work. As a complement to ongoing work on high productivity languages for explicit parallelism, the basic idea in this paper is to make sequential languages more amenable to compiler parallelization by adding enforceable declarations and annotations. Specifically, we propose the addition of annotations and declarations related to multidimensional arrays, points, regions, array views, parameter intents, array and object privatization, pure methods, absence of exceptions, and gather/reduce computations. In many cases, these extensions are also motivated by best practices in software engineering, and can also contribute to performance improvements in sequential code. A detailed case study of the Java Grande Forum benchmark suite illustrates the obstacles to compiler parallelization in current object-oriented languages, and shows that the extensions proposed in this paper can be effective in enabling compiler parallelization. The results in this paper motivate future work on building an automatically parallelizing compiler for the language extensions proposed in this paper.
UR - http://www.scopus.com/inward/record.url?scp=54249155210&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=54249155210&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-85261-2_6
DO - 10.1007/978-3-540-85261-2_6
M3 - Conference contribution
AN - SCOPUS:54249155210
SN - 3540852603
SN - 9783540852605
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 78
EP - 94
BT - Languages and Compilers for Parallel Computing - 20th International Workshop, LCPC 2007, Revised Selected Papers
T2 - 20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007
Y2 - 11 October 2007 through 13 October 2007
ER -