1995
DOI: 10.1007/bfb0025876
|View full text |Cite
|
Sign up to set email alerts
|

Polaris: Improving the effectiveness of parallelizing compilers

Abstract: Abstract. It is the goal of the Polaris project to develop a new parallelizing compiler that will overcome limitations of current compilers. While current parallelizing compilers may succeed on small kernels, they often fail to extract any meaningful parallelism from large applications. After a study of application codes, it was concluded that by adding a few new techniques to current compilers, automatic parallelization becomes possible. The techniques needed are interprocedural analysis, scalar and array pri… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
54
0

Year Published

2000
2000
2019
2019

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 80 publications
(55 citation statements)
references
References 8 publications
0
54
0
Order By: Relevance
“…This is done by calculating the forward di erence (x + 1 ) 2 ; (x + 1 ) ; (x 2 ; x) = 2 x, then determining whether 2 x is greater-equal or less-equal to zero by a recursive call to the expression comparison algorithm. Now, 2 x is greater than zero, since 2 x ) 2 …”
Section: Monotonicity Replacement Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…This is done by calculating the forward di erence (x + 1 ) 2 ; (x + 1 ) ; (x 2 ; x) = 2 x, then determining whether 2 x is greater-equal or less-equal to zero by a recursive call to the expression comparison algorithm. Now, 2 x is greater than zero, since 2 x ) 2 …”
Section: Monotonicity Replacement Methodsmentioning
confidence: 99%
“…The 1 A strongly-connected component of a graph is a maximal subgraph of that graph where each v ertex in the subgraph can reach all other vertices in the subgraph. 2 A topological ordering of a directed acyclic graph is an ordering such t h a t i f t h e r e i s a p a t h f r o m v ertex u to vertex v then u occurs before v in this ordering. 3 By de nition of SCCs, one can always topologically sort the SCCs of a graph in respect to each other.…”
Section: Determining a Replacement Ordermentioning
confidence: 99%
“…This approach is general and efficient, but it is not simple because the programmer has to control every aspect of concurrency and synchronization using low-level APIs. At the other extreme, one could use a compiler that automatically parallelizes code or uses optimistic concurrency techniques [8,12,10]. This is simple and it works well for some kinds of parallelism (e.g., independent loop iterations), but it is not general.…”
Section: Current Approachesmentioning
confidence: 99%
“…This frees the programmer from having to learn how to write a parallel program. Such compilers include Intel C compiler [10], Paradigm [29], Polaris [11] Rice Fortran D [1], SUIF [59], and Vienna Fortran [8];…”
Section: Parallelizing Compilersmentioning
confidence: 99%
“…One attractive method of fully utilizing such resources is to automatically extract parallel threads from existing programs. However, automatic parallelization [4,10] for general-purpose applications (e.g., compilers, spreadsheets, games, etc.) is difficult because of pointer aliasing, irregular array accesses, and complex control flow.…”
Section: Introductionmentioning
confidence: 99%