Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimators

Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimators

Abstract

Symbolic analysis is of paramount importance for parallelizing compilers and performance estimators to examine symbolic expressions with program unknowns such as number of processors and array dimension sizes and to solve queries based on systems of constraints (equalities and inequalities). This paper describes techniques for counting the number of solutions to a system of constraints, simplifying systems of constraints, computing lower and upper bounds of symbolic expressions, and determining the relationship between symbolic expressions. All techniques target wide classes of linear and non-linear symbolic expressions and systems of constraints. Our techniques have been implemented and are used as part of parallelizing compiler and a performance estimator for data dependence analysis, detecting zero-trip-loops, dead code elimination, communication optimization, and estimation of work distribution for parallel programs. Various examples and experiments demonstrate the effectiveness of our symbolic analysis techniques.

Grafik Top
Authors
  • Fahringer, T.
Grafik Top
Shortfacts
Category
Technical Report (Technical Report)
Divisions
Scientific Computing
Publisher
Institute for Software Technology and Parallel Systems, University of Vienna
Date
October 1997
Official URL
http://www.par.univie.ac.at/publications/download/...
Export
Grafik Top