skip to main content
10.1145/1244002.1244287acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Comparison of two activity analyses for automatic differentiation: context-sensitive flow-insensitive vs. context-insensitive flow-sensitive

Published:11 March 2007Publication History

ABSTRACT

Automatic differentiation (AD) is a family of techniques to generate derivative code from a mathematical model expressed in a programming language. AD computes partial derivatives for each operation in the input code and combines them to produce the desired derivative by applying the chain rule. Activity analysis is a compiler analysis used to find active variables in automatic differentiation. By lifting the burden of computing partial derivatives for passive variables, activity analysis can reduce the memory requirement and run time of the generated derivative code. This paper compares a new context-sensitive flow-insensitive (CSFI) activity analysis with an existing context-insensitive flow-sensitive (CIFS) activity analysis in terms of execution time and the quality of the analysis results. Our experiments with eight benchmarks show that the new CSFI activity analysis runs up to 583 times faster and overestimates up to 18.5 times fewer active variables than does the existing CIFS activity analysis.

References

  1. http://mitgcm.org/.Google ScholarGoogle Scholar
  2. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Brett M. Averick, Richard G. Garter, and Jorge J. More. MINPACK-2 Test Problem Collection. Technical Memorandum ANL/MCS-TM-150, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL, May 1991.Google ScholarGoogle Scholar
  4. Martin Berz, Christian H. Bischof, George F. Corliss, and Andreas Griewank, editors. Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia, PA, 1996.Google ScholarGoogle Scholar
  5. Christian Bischof, Alan Carle, Peyvand Khademi, and Andrew Mauer. ADIFOR 2.0: Automatic differentiation of Fortran 77 programs. IEEE Computational Science & Engineering, 3(3):18--32, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mike Fagan and Alan Carle. Activity Analysis in ADIFOR: Algorithms and Effectiveness. Technical Report TR04-21, Department of Computational and Applied Mathematics, Rice University, Houston, TX, November 2004.Google ScholarGoogle Scholar
  7. Message Passing Interface Forum. MPI: A message-passing interface standard. International Journal of Supercomputer Applications, 8(3/4):165--414, 1994.Google ScholarGoogle Scholar
  8. Andreas Griewank and George F. Corliss, editors. Automatic Differentiation of Algorithms: Theory, Implementation, and Application. SIAM, Philadelphia, PA, 1991.Google ScholarGoogle Scholar
  9. L. Hascoët, U. Naumann, and V. Pascual. "To be recorded" analysis in reverse-mode automatic differentiation. Future Generation Computer Systems, 21(8), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Uday P. Khedker and Dhananjay M. Dhamdhere. A generalized theory of bit vector data flow analysis. ACM Transactions on Programming Languages and Systems, 16(5):1472--1511, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Barbara Kreaseck, Luis Ramos, Scott Easterday, Michelle Strout, and Paul Hovland. Hybrid static/dynamic activity analysis. In Proceedings of the 3rd International Workshop on Automatic Differentiation Tools and Applications (ADTA '04), Reading, England, 2006.Google ScholarGoogle Scholar
  12. Arun Lakhotia. Rule-based approach to computing module cohesion. In Proceedings of the 15th International Conference on Software Engineering, pages 35--44, Baltimore, MD, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Thomas Reps, Susan Horwitz, Mooly Sagiv, and Genevieve Rosay. Speeding up slicing. In Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 11--20, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Thomas Reps and Genevieve Rosay. Precise interprocedural chopping. In Proceedings of the 3rd ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 41--52, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Rice University. Open64 project. http://www.hipersoft.rice.edu/open64/.Google ScholarGoogle Scholar
  16. Marc Shapiro and Susan Horwitz. The effects of the precision of pointer analysis. In International Symposium on Static Analysis, pages 16--34, 1997. Lecture Notes in Computer Science, Vol. 1302, Pascal Van Hentenryck (ed.), Springer-Verlag, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Michelle Mills Strout, Barbara Kreaseck, and Paul D. Hovland. Data-flow analysis for MPI programs. In International Conference on Parallel Processing, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Michelle Mills Strout, John Mellor-Crummey, and Paul D. Hovland. Representation-independent program analysis. In Proceedings of The Sixth ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jean Utke. OpenAD: Algorithm implementation user guide. Technical Memorandum ANL/MCS-TM-274, Mathematics and Computer Science Division, Argonne National Laboratory, 2004.Google ScholarGoogle Scholar
  20. Rob F. van der Wijngaart. NAS parallel benchmarks version 2.4. Technical Report NAS-02-007, NASA Advanced Supercomputing (NAS) Division, October 2002.Google ScholarGoogle Scholar
  21. Mark Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Comparison of two activity analyses for automatic differentiation: context-sensitive flow-insensitive vs. context-insensitive flow-sensitive

      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
        SAC '07: Proceedings of the 2007 ACM symposium on Applied computing
        March 2007
        1688 pages
        ISBN:1595934804
        DOI:10.1145/1244002

        Copyright © 2007 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: 11 March 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate1,650of6,669submissions,25%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader