Abstract
Existing parallelizing compilers have been shown to detect and exploit only small portions of parallelism in real application programs. A core problem is the difficulty to collect sufficient information from the program to utilize the underlying multiprocessor architecture. Symbolic analysis is the key component to support compilers in parameterizing codes by the number of processors as well as array sizes and to enable performance analyzers examining programs with program unknowns. We present a variety of novel symbolic analysis techniques that are crucial for a new generation of parallelizing compilers and performance analysis tools to handle non-linear array index functions, complex loop bounds, and deal with unknown problem, array and machine sizes which is critical for programming languages such as High Performance Fortran. This includes counting solutions to a system of constraints, computing lower and upper bounds of symbolic expressions, and comparing symbolic expressions. We have implemented all of these techniques as part of a state-of-the-art parallelizing compiler and a performance estimator. Examples will be shown that demonstrate the effectiveness of our symbolic analysis.
Preview
Unable to display preview. Download preview PDF.
References
S. Benkner et al. Vienna Fortran Compilation System — Version 2.0 — User's Guide, October 1995.
William Blume. Symbolic Analysis Techniques for Effective Automatic Parallelization. PhD thesis, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, June 1995.
M. Berry et al. The PERFECT club benchmarks: Effective performance evaluation of supercomputers. International Journal of Supercomputing Applications, pages 3(3): 5–40, 1989.
T. Fahringer. Toward Symbolic Performance Prediction of Parallel Programs. In IEEE Proc. of the 1996 International Parallel Processing Symposium, pages 474–478, Honolulu, Hawaii, April 15–19, 1996.
Thomas Fahringer. Estimating and Optimizing Performance for Parallel Programs. IEEE Computer, 28(11):47–56, November 1995.
M. Haghighat and C. Polychronopoulos. Symbolic Analysis for Parallelizing Compilers. CSRD Report No. 1355, CSRD, University of Illinois at Urbana-Champaign, IL, 1994.
High Performance FORTRAN Language Specification. Technical Report, Version 1.0, Rice University, Houston, TX, May 1993.
William Pugh. Counting Solutions to Presburger Formulas: How and Why. In ACM SIGPLAN'94 Conference on Programming Language Design and Implementation, pages 121–134, Orlando, FL, June 20–24 1995.
N. Tawbi. Estimation of nested loop execution time by integer arithmetic in convex polyhedra. In Proc. of the 1994 International Parallel Processing Symposium, April 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fahringer, T. (1997). Effective symbolic analysis to support parallelizing compilers and performance analysis. In: Hertzberger, B., Sloot, P. (eds) High-Performance Computing and Networking. HPCN-Europe 1997. Lecture Notes in Computer Science, vol 1225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031649
Download citation
DOI: https://doi.org/10.1007/BFb0031649
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62898-9
Online ISBN: 978-3-540-69041-2
eBook Packages: Springer Book Archive