Publication: Algorithm 799: Revolve: An Implementation of Checkpoint for the Reverse or Adjoint Mode of Computational Differentiation
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

Algorithm 799: Revolve: An Implementation of Checkpoint for the Reverse or Adjoint Mode of Computational Differentiation

- Article in a journal -
 

Author(s)
Andreas Griewank , Andrea Walther

Published in
ACM Transactions on Mathematical Software

Year
2000

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.

AD Tools
Treeverse / Revolve

AD Theory and Techniques
Checkpointing

BibTeX
@ARTICLE{
         Griewank2000ARA,
       author = "Andreas Griewank and Andrea Walther",
       title = "Algorithm 799: {R}evolve: {A}n Implementation of Checkpoint for the Reverse or Adjoint
         Mode of Computational Differentiation",
       note = "Also appeared as Technical University of Dresden, Technical Report IOKOMO-04-1997.",
       key = "Griewank2000ARA",
       referred = "[Christianson2001GoP].",
       ad_theotech = "Checkpointing",
       journal = "{ACM} Transactions on Mathematical Software",
       volume = "26",
       number = "1",
       pages = "19--45",
       year = "2000",
       CODEN = "ACMSCU",
       ISSN = "0098-3500",
       bibsource = "http://www.acm.org/pubs/toc/",
       URL = "http://doi.acm.org/10.1145/347837.347846",
       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 {\tt 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.",
       month = "mar",
       ad_tools = "Treeverse / Revolve"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)