Enabling user-driven Checkpointing strategies in Reverse-mode Automatic Differentiation
Laurent Hascoet (INRIA Sophia Antipolis), Mauricio Araya-Polo (INRIA, Sophia Antipolis)

TL;DR
This paper enhances the Tapenade AD tool by enabling user-driven checkpointing strategies, allowing for tailored memory and computation trade-offs, and demonstrates significant memory and time savings in scientific applications.
Contribution
It introduces user-selectable checkpointing options in Tapenade and provides experimental insights towards achieving optimal checkpointing strategies.
Findings
Memory savings up to 35%
Execution time reduction up to 90%
Guidelines for optimal checkpointing strategies
Abstract
This paper presents a new functionality of the Automatic Differentiation (AD) tool Tapenade. Tapenade generates adjoint codes which are widely used for optimization or inverse problems. Unfortunately, for large applications the adjoint code demands a great deal of memory, because it needs to store a large set of intermediates values. To cope with that problem, Tapenade implements a sub-optimal version of a technique called checkpointing, which is a trade-off between storage and recomputation. Our long-term goal is to provide an optimal checkpointing strategy for every code, not yet achieved by any AD tool. Towards that goal, we first introduce modifications in Tapenade in order to give the user the choice to select the checkpointing strategy most suitable for their code. Second, we conduct experiments in real-size scientific codes in order to gather hints that help us to deduce an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Parallel Computing and Optimization Techniques · Numerical methods for differential equations
