Abstract
The property analysis of subscript arrays can be used to facilitate the automatic detection of parallelism in sparse/irregular programs that use indirectly accessed arrays. In order for property analysis to work, array reaching definition information is needed. In this paper, we present a framework to efficiently calculate the array reaching definition. This method is designed to handle the common program patterns in real programs. We use some available techniques as the building components, such as data dependence tests and array summary set representations and operations. Our method is more efficient as well as more flexible than the existing techniques.
This work is supported in part by Army contract DABT63-95-C-0097; Army contract N66001-97-C-8532; NSF contract MIP-9619351; and a Partnership Award from IBM. This work is not necessarily representative of the positions or policies of the Army or Government.
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 Proceedings of the ACM SIGPLAN’89 Conference on Programming Language Design and Implementation (PLDI), Portland, OR, June 1989.
William Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, William Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen weatherford. Polaris: Improving the effectiveness of parallelizing compilers. In Keshav Pingali, Uptal Banerjee, David Gelernter, Alex Nicolau, and David Padua, editors, Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, pages 141–154, Ithaca, New York, August 8–10, 1994. Springer-Verlag.
Rudolf Eigenmann and William Blume. An effectiveness study of parallelizing compiler techniques. In Proceedings of the 1991 International Conference on Parallel Processing, volume II, Software, pages II–17–II–25, Boca Raton, FL, August 1991. CRC Press.
P. Feautrier. Dataflow analysis of scalar and array references. International Journal of Parallel Programming, 20(1):23–52, February 1991.
Thomas Gross and Peter Steenkiste. Structured dataflow analysis for arrays and its use in an optimizing compiler. Software Practice and Experience. 20(2):133–155, February 1990.
Junjie Gu, Zhiyuan Li, and Gyungho Lee. Symbolic array dataflow analysis for array privatization and program parallelization. In Sidney Karin, editor, Proceedings of the 1995 ACM/IEEE Supercomputing Conference, December 3–8, 1995, San Diego Convention Center, San Diego, CA, USA, New York, NY 10036, USA, 1995. ACM Press and IEEE Computer Society Press.
P. Havlak. Interprocedural Symbolic analysis. PhD thesis, Rice University, May 1994.
Y. Lin and D. Padua. On the automatic parallelization of sparse and irregular fortran programs. In Proc. of 4th Workshop on Languages, Compilers, and Runtime Systems for Scalable Computers (LCR98), volume 1511 of Lecture Notes in Computer Science, pages 41–56. Springer-Verlag, Pittsburgh, PA, 1998.
Vadim Maslov. Delinearization: An efficient way to break multiloop dependence equations. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI), volume 27, pages 152–161, New York, NY, July 1992. ACM Press.
Vadim Maslov. Lazy array data-flow dependence analysis. In ACM, editor, Proceedings of 21st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 311–325, New York, NY, USA, ???? 1994. ACM Press.
Yunheung Paek, Jay Hoeflinger, and David Padua. Simplification of array access patterns for compiler optimizations. In Proceedings of the ACM SIGPLAN’98 Conference on Programming Language Design and Implementation (PLDI), pages 60–71, Montreal, Canada, 17–19 June 1998.
William Pugh and David Wonnacott. An exact method for analysis of value-based array data dependences. In Proceedings of the Sixth Annual Workshop on rogramming Languages and Compilers for Parallel Computing, December 93.
R. Triolet, F. Irigoin, and P. Feautrier. Direct parallelization of call statements. In Proceedings of the SIGPLAN’86 Symposium on Compiler Construction, pages 176–185, Palo Alto, CA, July 1986.
Peng Tu and David Padua. Automatic array privatization. In Uptal Banerjee, David Gelernter, Alex Nicolau, and David Padua, editors, Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, pages 500–521, Portland, Oregon, August 12–14, 1993. Intel Corp. and the Portland Group, Inc., Springer-Verlag.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Lin, Y., Padua, D. (1999). A simple framework to calculate the reaching definition of array references and its use in subscript array analysis. In: Rolim, J., et al. Parallel and Distributed Processing. IPPS 1999. Lecture Notes in Computer Science, vol 1586. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0097989
Download citation
DOI: https://doi.org/10.1007/BFb0097989
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65831-3
Online ISBN: 978-3-540-48932-0
eBook Packages: Springer Book Archive