Step-based checkpointing with high-level algorithmic differentiation
James R. Maddison

TL;DR
This paper introduces a novel approach combining high-level algorithmic differentiation with step-based checkpointing to efficiently handle adjoint calculations in time-dependent PDE solvers, improving performance by leveraging data structure insights.
Contribution
It presents a new method that integrates high-level AD with dynamic checkpointing schedules, enhancing efficiency for adjoint computations without prior knowledge of the forward calculation structure.
Findings
Improved checkpointing strategies reduce memory usage and computation time.
High-level AD simplifies data management for adjoint calculations.
Method is particularly effective for time-dependent PDE solvers.
Abstract
Automated code generation allows for a separation between the development of a model, expressed via a domain specific language, and lower level implementation details. Algorithmic differentiation can be applied symbolically at the level of the domain specific language, and the code generator reused to implement code required for an adjoint calculation. However the adjoint calculations are complicated by the well-known problem of storing or recomputing the forward data required by the adjoint, and different checkpointing strategies have been developed to tackle this problem. This article considers the combination of high-level algorithmic differentiation with step-based checkpointing schedules, with the primary application being for solvers of time-dependent partial differential equations. The focus is on algorithmic differentiation using a dynamically constructed record of forward…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Formal Methods in Verification · Parallel Computing and Optimization Techniques
