Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/377792.377809acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
Article

Monotonic evolution: an alternative to induction variable substitution for dependence analysis

Published: 17 June 2001 Publication History

Abstract

We present a new approach to dependence testing in the presence of induction variables. Instead of looking for closed form expressions, our method computes monotonic evolution which captures the direction in which the value of a variable changes. This information is then used in the dependence test to help determine whether array references are dependence-free. Under this scheme, closed form computation and induction variable substitution can be delayed until after the dependence test and be performed on-demand. To improve computative efficiency, we also propose an optimized (non-iterative) data-flow algorithm to compute evolution. Experimental results show that dependence tests based on evolution information matches the accuracy of that based on closed-form computation (implemented in Polaris), and when no closed form expressions can be calculated, our method is more accurate than that of Polaris.

References

[1]
A. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, 1986.
[2]
Z. Ammarguellat and W. L. Harrison. Automatic recognition of induction & recurrence relations by abstract interpretation. In ACM Symp. on Programming Language Design and Implementation (PLDI'90), pages 283-295, Yorkton Heights, New York, USA, June 1990.
[3]
U. Banerjee. Dependence Analysis for Supercomputing. Kluwer Academic Publishers, Boston, USA, 1988.
[4]
W. Blume and R. Eigenmann. The range test: A dependence test for symbolic, non-linear expressions. In Supercomputing'94, pages 528-537, Washington D.C., USA, November 1994. IEEE Computer Society Press.
[5]
W. Blume, R. Eigenmann, K. Faigin, J. Grout, J. Hoe inger, D. Padua, P. Petersen, W. Pottenger, L. Rauchwerger, P. Tu, and S. Weatherford. Parallel programming with Polaris. IEEE Computer, 29(12):78-82, December 1996.
[6]
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, 1989.
[7]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. on Programming Languages and Systems, 13(4):451-490, October 1991.
[8]
R. Eigenmann, J. Hoe inger, and D. Padua. On the automatic parallelization of the perfect benchmarks. IEEE Trans. on Parallel and Distributed Systems, 9(1):5-23, January 1998.
[9]
M. P. Gerlek, E. Stoltz, and M. Wolfe. Beyond induction variables: detecting and classifying sequences using a demand-driven ssa form. ACM Trans. on Programming Languages and Systems, 17(1):85-122, January 1995.
[10]
R. Gupta and M. Spezialetti. Loop monotonic computations: An approach for the efficient run-time detection of races. In ACM Symp. on Testing Analysis and Verification, pages 98-111, 91.
[11]
M. Haghighat and C. Polychronopoulos. Symbolic analysis for parallelizing compilers. ACM Trans. on Programming Languages and Systems, 18(4):477-518, July 1996.
[12]
J. Hummel, L. J. Hendren, and A. Nicolau. A general data dependence test for dynamic, pointer-based data structures. In ACM Symp. on Programming Language Design and Implementation (PLDI'94), pages 218-229, Orlando, Florida, USA, June 1994.
[13]
J. B. Kam and J. D. Ullman. Monotone data ow analysis frameworks. Acta Informatica, 7:309-317, 1977.
[14]
Y. Lin and D. Padua. Compiler analysis of irregular memory accesses. In ACM Symp. on Programming Language Design and Implementation (PLDI'00), Vancouver, British Columbia, Canada, June 2000.
[15]
B. Pottenger and R. Eigenmann. Parallelization in the presence of generalized induction and reduction variables. In ACM Int. Conf. on Supercomputing (ICS'95), June 1995.

Cited By

View all
  • (2024)Recurrence Analysis for Automatic Parallelization of Subscripted SubscriptsProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638493(80-93)Online publication date: 2-Mar-2024
  • (2011)Safe, multiphase bounds check elimination in JavaSoftware—Practice & Experience10.1002/spe.102841:7(753-788)Online publication date: 1-Jun-2011
  • (2010)A Modular Static Analysis Approach to Affine Loop Invariants DetectionElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2010.09.002267:1(3-16)Online publication date: 1-Oct-2010
  • Show More Cited By

Index Terms

  1. Monotonic evolution: an alternative to induction variable substitution for dependence analysis

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '01: Proceedings of the 15th international conference on Supercomputing
    June 2001
    510 pages
    ISBN:158113410X
    DOI:10.1145/377792
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 June 2001

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    ICS01
    Sponsor:

    Acceptance Rates

    ICS '01 Paper Acceptance Rate 45 of 133 submissions, 34%;
    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 16 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Recurrence Analysis for Automatic Parallelization of Subscripted SubscriptsProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638493(80-93)Online publication date: 2-Mar-2024
    • (2011)Safe, multiphase bounds check elimination in JavaSoftware—Practice & Experience10.1002/spe.102841:7(753-788)Online publication date: 1-Jun-2011
    • (2010)A Modular Static Analysis Approach to Affine Loop Invariants DetectionElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2010.09.002267:1(3-16)Online publication date: 1-Oct-2010
    • (2009)Scalable temporal order analysis for large scale debuggingProceedings of the Conference on High Performance Computing Networking, Storage and Analysis10.1145/1654059.1654104(1-11)Online publication date: 14-Nov-2009
    • (2009)Synchronization optimizations for efficient execution on multi-coresProceedings of the 23rd international conference on Supercomputing10.1145/1542275.1542303(169-180)Online publication date: 8-Jun-2009
    • (2009)Nonlinear Symbolic Analysis for Advanced Program ParallelizationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2008.13120:5(623-640)Online publication date: 1-May-2009
    • (2008)XARKACM Transactions on Programming Languages and Systems10.1145/1391956.139195930:6(1-56)Online publication date: 30-Oct-2008
    • (2008)Speculative Loop-Pipelining in Binary Translation for Hardware AccelerationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2008.91553327:3(409-422)Online publication date: 1-Mar-2008
    • (2007)Flow-Sensitive Loop-Variant Variable Classification in Linear TimeLanguages and Compilers for Parallel Computing10.1007/978-3-540-85261-2_22(323-337)Online publication date: 1-Oct-2007
    • (2006)Toward efficient flow-sensitive induction variable analysis and dependence testing for loop optimizationProceedings of the 44th annual ACM Southeast Conference10.1145/1185448.1185450(1-6)Online publication date: 10-Mar-2006
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media