skip to main content
10.1145/263764.263785acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article
Free Access

Experience with efficient array data flow analysis for array privatization

Authors Info & Claims
Published:21 June 1997Publication History

ABSTRACT

Array data flow analysis is known to be crucial to the success of array privatization, one of the most important techniques for program parallelization. It is clear that array data flow analysis should be performed interprocedurally and symbolically, and that it often needs to handle the predicates represented by IF conditions. Unfortunately, such a powerful program analysis can be extremely time-consuming if not carefully designed. How to enhance the efficiency of thk analysis to a practical level remains an issue largely untouched to date. This paper documents our experience with building a highly efficient array data flow analyzer which is based on guarded array regions and which runs faster, by one or two orders of magnitude, than other similarly powerful tools.

References

  1. 1.A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, Mass., 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.V. Balasundaram. A mechanism for keeping useful internal information in parallel programming tools: The data access descriptor. Journal of Parallel and Distributed Computing, 9:154-170, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.W. Blume and R. Eigenmann. Symbolic analysis techniques needed for the effective parallelization of Perfect benchmarks. Technical report, Dept. of Computer Science, University of Illinois, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.D. Callahan and K. Kennedy. Analysis of interprocedural side effects in a parallel programming environment. In A CM SIGPLAN '86 Syrup. Compiler Construction, pages 162- 175, June 1986.Google ScholarGoogle Scholar
  5. 5.Lori A. Clarke and Debra J. Richardson. Applications of symbolic evaluation. The Journal of Systems and Software, 5(1):15-35, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.B#atrice Creusillet and F. Irigoin. Interprocedural array region analyses. Int. Journal of Parallel Programming, 24(6):513-546, December 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.E. Duesterwald, R. Gupta, and M.L. Sofia. A practical data flow framework for array reference analysis and its use in optimizations. In A CM SIGPLAN '93 Con}. on Programming Language Design and Implementation, pages 68-77, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.R. Eigenmann, J. Hoeflinger, and D. Padua. On the automatic parallelization of the perfect benchmarks. Technical Report TR 1392, CSRD, University of Illinois at Urbana- Champaign, November 1994.Google ScholarGoogle Scholar
  9. 9.Paul Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 2(1):23-53, February 1991.Google ScholarGoogle ScholarCross RefCross Ref
  10. 10.T. Gross and P Steenkiste. Structured data/tow analysis for arrays and its use in an optimizing compiler. Software - Practice and E#erience, 20(2):133-155, February 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.J. Gu, Z. Li, and G. Lee. Symbolic array dataflow analysis for array privatization and program parallelization. In Supercomputing, December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.M.W. Hall, B.R. Murphy, S.P. Amarasinghe, S.-W. Liao, and M.S. Lam. Interprocedural analysis for parallelization. In Proce#ings of the 8th Workshop on Languages and Compilers for Parallel Computing, No. 1033, In Lecture Notes in Computer Science, Springer-Verlag, Berlin, pages 61-80, August 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.P. Havlak and K. Kennedy. An implementation of interprocedural bounded regular section analysis. IEEE Trans. on Parallel and Distributed Systems, 2(3):350-360, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Z. Li. Array privatization for parallel execution of loops. In A CM Int. Conf. on Supercomputing, pages 313-322, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Vadim Maslov. Lazy array data-flow dependence analysis. In Proceedings o.f Annual A CM Symposium on Principles of Programming Languages, pages 331-325, Jan. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.D.E. Maydan, S.P. Amarasinghe, and M.S. Lain. Array dataflow analysis and its use in array privatization. In Proc. of the 20th A CM Syrup. on Principles of Programming Languages, pages 2-15, January 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Dror E. Maydan. Accurate Analysis of Army References. PhD thesis, Stanford University, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.T. Nguyen, J. Gu, and Z. Li. An interprocedural parallelizing compiler and its support for memory hierarchy research. In Lecture Notes in Computer Science 1033: 8th International Workshop on Languages and Compilers for Parallel Computing, pages 96-110, Columbus, Ohio, August 1995. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.William Pugh and David Wonnacott. An exact method for analysis of value-based array data dependences. In Lecture Notes in Computer Science 768: Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing, Portland, OR, August 1993. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Carl Rosene. Incremental dependence analysis. Technical Report CRPC-TRg0044, PhD thesis, Computer Science Department, Rice University, March 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Jr T.E. Cheatharn, G.tt. Holloway, and J.A. Townley. Symbolic evaluation and the analysis of programs. IEEE 73"ans.on Software Engineering, 5(4):402-417, July 1979.Google ScholarGoogle Scholar
  22. 22.R. Triolet, F. lrigoin, and P. Feautrier. Direct parallelization of CALL statments. In A CM SIGPLAN'86 Sym. on Compiler Construction, pages 176-185, July 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.Remi Triolet. Interprocedural analysis for program restructuring with parafrase. Technical Report CSRD Rpt. No.538, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, December 1985.Google ScholarGoogle Scholar
  24. 24.P. Tu and D. Padua. Gated ssa-based demand-driven symbolic analysis for parallelizing compilers, in international Conference on Supercornputing, pages 414-423, July 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.Pent Tu and David Padua. Automatic array privatization. In Proceedings of Sixth Workshop on Languages and Compilers for Parallel Computing, pages 500-521, August 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Experience with efficient array data flow analysis for array privatization

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      PPOPP '97: Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
                      June 1997
                      287 pages
                      ISBN:0897919068
                      DOI:10.1145/263764

                      Copyright © 1997 ACM

                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 21 June 1997

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • Article

                      Acceptance Rates

                      PPOPP '97 Paper Acceptance Rate26of86submissions,30%Overall Acceptance Rate230of1,014submissions,23%

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader