Language extensions in support of compiler parallelization

Jun Shirako, Hironori Kasahara, Vivek Sarkar

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationLanguages and Compilers for Parallel Computing - 20th International Workshop, LCPC 2007, Revised Selected Papers
Pages78-94
Number of pages17
DOIs
Publication statusPublished - 2008 Oct 27
Event20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007 - Urbana, IL, United States
Duration: 2007 Oct 112007 Oct 13

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5234 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007
CountryUnited States
CityUrbana, IL
Period07/10/1107/10/13

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Language extensions in support of compiler parallelization'. Together they form a unique fingerprint.

  • Cite this

    Shirako, J., Kasahara, H., & Sarkar, V. (2008). Language extensions in support of compiler parallelization. In Languages and Compilers for Parallel Computing - 20th International Workshop, LCPC 2007, Revised Selected Papers (pp. 78-94). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 5234 LNCS). https://doi.org/10.1007/978-3-540-85261-2_6