Minimal Repetition Dynamic Checkpointing Algorithm for Unsteady Adjoint Calculation

  • Authors:
  • Qiqi Wang;Parviz Moin;Gianluca Iaccarino

  • Affiliations:
  • qiqi@stanford.edu and moin@stanford.edu and jops@stanford.edu;-;-

  • Venue:
  • SIAM Journal on Scientific Computing
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Adjoint equations of differential equations have seen widespread applications in optimization, inverse problems, and uncertainty quantification. A major challenge in solving adjoint equations for time dependent systems has been the need to use the solution of the original system in the adjoint calculation and the associated memory requirement. In applications where storing the entire solution history is impractical, checkpointing methods have frequently been used. However, traditional checkpointing algorithms such as revolve require a priori knowledge of the number of time steps, making these methods incompatible with adaptive time stepping. We propose a dynamic checkpointing algorithm applicable when the number of time steps is a priori unknown. Our algorithm maintains a specified number of checkpoints on the fly as time integration proceeds for an arbitrary number of time steps. The resulting checkpoints at any snapshot during the time integration have the optimal repetition number. The efficiency of our algorithm is demonstrated both analytically and experimentally in solving adjoint equations. This algorithm also has significant advantage in automatic differentiation when the length of execution is variable.