Proceedings of the Compilation of the Co-Located Workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, &Amp; VMIL'11 2011
DOI: 10.1145/2095050.2095103
|View full text |Cite
|
Sign up to set email alerts
|

Intermediate language extensions for parallelism

Abstract: An Intermediate Language (IL) specifies a program at a level of abstraction that includes precise semantics for state updates and control flow, but leaves unspecified the low-level software and hardware mechanisms that will be used to implement the semantics. Past ILs have followed the von Neumann execution model by making sequential execution the default, and by supporting parallelism with runtime calls for lower-level mechanisms such as threads and locks. Now that the multicore trend is making parallelism th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
3
3
1

Relationship

1
6

Authors

Journals

citations
Cited by 17 publications
(4 citation statements)
references
References 34 publications
0
4
0
Order By: Relevance
“…Figure 31 presents the overall structure of the HJC compiler. The Polyglot [Nystrom et al 2003]-based front-end for HJ was modified to emit a new Parallel Intermediate Representation (PIR) extension [Zhao and Sarkar 2011] to the Jimple intermediate representation used in the SOOT bytecode analysis and transformation framework [Vallée-Rai et al 1999]. In addition to standard Java operators, the PIR includes explicit constructs for parallel operations, such as async, finish, and isolated.…”
Section: Methodsmentioning
confidence: 99%
“…Figure 31 presents the overall structure of the HJC compiler. The Polyglot [Nystrom et al 2003]-based front-end for HJ was modified to emit a new Parallel Intermediate Representation (PIR) extension [Zhao and Sarkar 2011] to the Jimple intermediate representation used in the SOOT bytecode analysis and transformation framework [Vallée-Rai et al 1999]. In addition to standard Java operators, the PIR includes explicit constructs for parallel operations, such as async, finish, and isolated.…”
Section: Methodsmentioning
confidence: 99%
“…Second, the compiler can use intrinsic functions to demark parallel tasks. (For examples, see [37,55,72].) Often, either existing serial analyses and optimizations must be shut down when code contains these intrinsics, or the intrinsics offer minimal opportunities for compiler optimization.…”
Section: Previous Approachesmentioning
confidence: 99%
“…Third, the compiler can use a separate IR to encode logical parallelism in the program. The HPIR [7,72], SPIRE [29], and INSPIRE [27] representations, for instance, model parallel constructs using an alternative IR, such as one based on the program's abstract syntax tree [2,Sec. 2.5.1].…”
Section: Previous Approachesmentioning
confidence: 99%
“…Other authors have described parallel intermediate representations (IRs), which typically are sequential IRs with parallel extensions [39]. STC's IR semantics are, in contrast, fully based on a data-driven task parallel execution model with asynchronous execution and monotonic data structures built-in.…”
Section: Related Work On Compiler Optimizationmentioning
confidence: 99%