skip to main content

Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation

Published:01 March 2000Publication History
Skip Abstract Section

Abstract

In its basic form, the reverse mode of computational differentiation yields the gradient of a scalar-valued function at a cost that is a small multiple of the computational work needed to evaluate the function itself. However, the corresponding memory requirement is proportional to the run-time of the evaluation program. Therefore, the practical applicability of the reverse mode in its original formulation is limited despite the availability of ever larger memory systems. This observation leads to the development of checkpointing schedules to reduce the storage requirements. This article presents the function revolve, which generates checkpointing schedules that are provably optimal with regard to a primary and a secondary criterion. This routine is intended to be used as an explicit “controller” for running a time-dependent applications program.

Skip Supplemental Material Section

Supplemental Material

References

  1. GRIMM, J., POTTIER, L., AND ROSTAING-SCHMIDT, N. 1996. Optimal time and minimum space-time product for reversing a certain class of programs. In Computational Differentiation: Techniques, Applications, and Tools, M. Berz, C. Bischof, G. Corliss, and A. Griewank, Eds. SIAM, Philadelphia, PA, 161-172.Google ScholarGoogle Scholar
  2. GRIEWANK, A. 1992. Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation. Optim. Meth. Softw. 1, 1, 35-54.Google ScholarGoogle ScholarCross RefCross Ref
  3. GRIEWANK, A. 2000. Evaluating Derivatives, Principles, and Techniques of Algorithmic Differentiation. SIAM Frontiers in Applied Mathematics Series, vol. 19. SIAM, Philadelphia, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. RESTREPO, J. M., LEAF, G. K., AND GRIEWANK, A. 1998. Circumventing storage limitations in variational data assimilation studies. SIAM J. Sci. Comput. 19, 5, 1586-1605. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. LEVEQUE, R. 1992. Numerical Methods for Conservation. Birkh user-Verlag, Basel, Switzerland.Google ScholarGoogle Scholar
  6. LIONS, J. L. 1971. Optimal Control of Systems Governed by Partial Differential Equations. Springer-Verlag, New York, NY.Google ScholarGoogle Scholar
  7. OSHER, S. AND SOLOMON, F. 1982. Upwind difference schemes for the hyperbolic systems of conservation laws. Math. Comput. 38, 158, 339-374.Google ScholarGoogle ScholarCross RefCross Ref
  8. SYMES, W. 1997. Framework for automatic differentiation applied to time-dependent problems. In Proceedings of SIAM's 45th Anniversary Meeting (Stanford, CA, July 14-18), SIAM, Philadelphia, PA.Google ScholarGoogle Scholar
  9. WALTHER, A. 1999. Program reversal schedules for single- and multi-processor machines. Ph.D. Dissertation. Technical University Dresden, Dresden.Google ScholarGoogle Scholar

Index Terms

  1. Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation

      Recommendations

      Reviews

      Frank Stenger

      This is an excellent paper, describing a variant (“revolve”) of the basic form for reverse differentiation for computing the gradient of a scalar valued function, which enables computing this gradient of a function using no more than five times the number of operations needed for evaluating the function. This basic algorithm usually requires a large memory for storage of intermediate computations. The variant presented here circumvents this large memory requirement. A detailed description of the variant is given, along with motivation and proofs. The authors then illustrate the application of their algorithm to the solution of Burger's equation.

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

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

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Mathematical Software
        ACM Transactions on Mathematical Software  Volume 26, Issue 1
        March 2000
        219 pages
        ISSN:0098-3500
        EISSN:1557-7295
        DOI:10.1145/347837
        • Editor:
        • Ronald F. Boisvert
        Issue’s Table of Contents

        Copyright © 2000 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: 1 March 2000
        Published in toms Volume 26, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader