English

Binomial Checkpointing for Arbitrary Programs with No User Annotation

Programming Languages 2016-11-11 v1 Machine Learning Mathematical Software

Abstract

Heretofore, automatic checkpointing at procedure-call boundaries, to reduce the space complexity of reverse mode, has been provided by systems like Tapenade. However, binomial checkpointing, or treeverse, has only been provided in Automatic Differentiation (AD) systems in special cases, e.g., through user-provided pragmas on DO loops in Tapenade, or as the nested taping mechanism in adol-c for time integration processes, which requires that user code be refactored. We present a framework for applying binomial checkpointing to arbitrary code with no special annotation or refactoring required. This is accomplished by applying binomial checkpointing directly to a program trace. This trace is produced by a general-purpose checkpointing mechanism that is orthogonal to AD.

Keywords

Cite

@article{arxiv.1611.03410,
  title  = {Binomial Checkpointing for Arbitrary Programs with No User Annotation},
  author = {Jeffrey Mark Siskind and Barak A. Pearlmutter},
  journal= {arXiv preprint arXiv:1611.03410},
  year   = {2016}
}

Comments

Extended abstract presented at the AD 2016 Conference, Sep 2016, Oxford UK

R2 v1 2026-06-22T16:48:32.819Z