Abstract
The PARAMAT approach to fully automatic distributed-memory parallelization consists of three basic ideas: First, we observe that we can cover large parts of many numerical codes by a small set of typical programming patterns. Second, we give a fast and powerful pattern recognition algorithm which tries to locally recover the semantics of the program while being robust against many common code modifications like loop distribution, loop interchange, loop blocking or loop unrolling. Third, we use the restored program semantics information to guide data partitioning, run time prediction and sophisticated optimizing code transformations including algorithm replacement.
In this paper we focus on the symbolic array dataflow analysis techniques of PARAMAT’s pattern recognition tool. We introduce a compact symbolic access descriptor and use it to compute array data flow that guides the recognition process. As an example, we show the application of this method to recognize and reroll unrolled loops.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
V. Balasundaram and K. Kennedy. A technique for summarizing data access and its use in parallelism enhancing transformations. In ACM SIGPLAN Programming Language Design and Implementation, pages 41–53, 1989.
Barbara Chapman, Piyush Mehrotra, and Hans Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, 1992.
Anne Dierstein, Roman Hayer, and Thomas Rauber. Automatic parallelization for distributed memory multiprocessors. In C. W. Kefiler (Ed.): Automatic Parallelization — New Approaches to Code Generation, Data Distribution and Performance Prediction, pages 192–217. Verlag Vieweg, 1993.
Paul Feautrier. Dataflow Analysis of Array and Scalar References. Int. Journal of Parallel Programming, 20(1):23–53, Feb. 1991.
Hans Michael Gerndt. Automatic Parallelization for Distributed-Memory Multiprocessing Systems. PhD thesis, Universität Bonn, 1989.
Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Compiler-Support for Machine-Independent Parallel Programming in Fortran-D. Technical Report Rice COMP TR91-149, Rice University, March 1991.
High Performance Fortran Forum HPFF. High Performance Fortran Language Specification, Final Version 1.0, May 1993.
Christoph W. Keßler. Knowledge-Based Automatic Parallelization by Pattern Recognition. In C. W. Keßler (Ed.): Automatic Parallelization — New Approaches to Code Generation, Data Distribution and Performance Prediction, pages 110–135. Verlag Vieweg, 1993.
Christoph W. Keßler. Pattern Recognition Enables Automatic Parallelization of Numerical Codes. In Proc. of the Fourth Int. Workshop on Compilers for Parallel Computers, Delft, NL, Dec. 1993.
Christoph W. Keßler and Wolfgang J. Paul. Automatic Parallelization by Pattern Matching. In Proc. of Second Int. Conference of the Austrian Center for Parallel Computation, pages 166–181, Oct. 1993.
C.W. Keßler, W.J. Paul, and T. Rauber. Scheduling Vector Straight Line Code on Vector Processors. In R. Giegerich and S.L. Graham, editors, Code Generation-Concepts, Tools, Techniques, pages 77–91. Springer Workshops in Computing Series, 1992.
Ulrich Kremer. NP-Completeness of Dynamic Remapping. Technical Report CRPC-TR93330-S, Center for Research on Parallel Computation, Rice University, Houston, TX, Aug. 1993. see also: Proc. Fourth Workshop on Compilers for Parallel Computers, Delft, Dec. 1993.
Jingke Li and Marina Chen. Index Domain Alignment: Minimizing Cost of Cross-referencing between Distributed Arrays. In Third Symposium on the Frontiers of Massively Parallel Computation, pages 424–433, 1990.
Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Array data-flow analysis and its use in array privatization. In ACM SIGPLAN Principles of Programming Languages, Jan. 1993.
Michael E. Wolf and Monica S. Lam. A Data Locality Optimizing Algorithm. In ACM SIGPLAN Programming Language Design and Implementation, pages 30–44, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer Basel AG
About this paper
Cite this paper
Keßler, C.W. (1994). Symbolic Array Data Flow Analysis and Pattern Recognition in Numerical Codes. In: Decker, K.M., Rehmann, R.M. (eds) Programming Environments for Massively Parallel Distributed Systems. Monte Verità. Birkhäuser, Basel. https://doi.org/10.1007/978-3-0348-8534-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-0348-8534-8_6
Publisher Name: Birkhäuser, Basel
Print ISBN: 978-3-0348-9668-9
Online ISBN: 978-3-0348-8534-8
eBook Packages: Springer Book Archive