|
||||||||||||||
Keynote
Lecture
Abstract: Program analysis techniques and accurate
data dependence testing enable a compiler to perform
safe automatic code optimization and parallelization. It
has been shown that factors, such as loop variants and
nonlinear expressions, limit program analysis,
dependence testing, and parallelization. The NLVI-Test
and the PLATO library have been introduced as a new tool
to enable exact data dependence testing on nonlinear
expressions. Apart from this work, analyses that utilize
the Chains of Recurrences formalism have been shown to
improve a dependence test’s ability to analyze
expressions. In this work we present techniques for
applying the NLVI-Test ideas in conjunction with Chains
of Recurrences analysis, to couple the benefits of both.
In addition, we develop a “Parallelization Index” which
describes the upper bound of the total parallelization
obtainable in a compiler infrastructure. We perform an
experimental evaluation of our techniques on several
scientific benchmarks. Our experiments show that our
techniques result in higher numbers of total parallel
loops discovered, and moreover, that we consistently
expose a majority of the obtainable parallelism.
|
|
|||||||||||||
copyright - designed by WSEAS |