Proceedings of the Tenth International Symposium on Code Generation and Optimization 2012
DOI: 10.1145/2259016.2259028
|View full text |Cite
|
Sign up to set email alerts
|

Helix

Abstract: We describe and evaluate HELIX, a new technique for automatic loop parallelization that assigns successive iterations of a loop to separate threads. We show that the inter-thread communication costs forced by loop-carried data dependences can be mitigated by code optimization, by using an effective heuristic for selecting loops to parallelize, and by using helper threads to prefetch synchronization signals. We have implemented HELIX as part of an optimizing compiler framework that automatically selects and par… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
16
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
7
3

Relationship

1
9

Authors

Journals

citations
Cited by 67 publications
(16 citation statements)
references
References 41 publications
0
16
0
Order By: Relevance
“…Intel Advisor [Labs 2014] points out the hotspots in the serial code by profiling and helps the programmer to annotate and see the expected speedups without changing the code. Campanoni et al [2012] extract parallelism by running iterations of a loop on separate threads, fulfilling loop-carried dependences using signals between threads. They also propose an architectural improvement to make their approach more feasible [Campanoni et al 2014].…”
Section: Related Workmentioning
confidence: 99%
“…Intel Advisor [Labs 2014] points out the hotspots in the serial code by profiling and helps the programmer to annotate and see the expected speedups without changing the code. Campanoni et al [2012] extract parallelism by running iterations of a loop on separate threads, fulfilling loop-carried dependences using signals between threads. They also propose an architectural improvement to make their approach more feasible [Campanoni et al 2014].…”
Section: Related Workmentioning
confidence: 99%
“…OpenPiton's scalability can assist compiler researchers in understanding how their solutions scale on real hardware. It enables the investigation of future programming models for parallel architectures [62,64], or how to add automatic parallelization constructs into current languages [19]. The use of the SPARC ISA makes compiler research convenient due to pre-existing compiler support (e.g., GCC).…”
Section: Compilersmentioning
confidence: 99%
“…There has been a lot of recent work on automatic parallelisation, however, and much of this could be applied to Loki. It is possible to extract DOALL parallelism [10], DOACROSS parallelism [8], and pipeline parallelism [22]. Dataflow graphs are standard intermediate representations within compilers, and can be mapped to cores automatically.…”
Section: Related Workmentioning
confidence: 99%