Enabling User-driven checkpointing strategies in Reverse-mode Automatic Differentiation

Laurent Hascoët
Mauricio Araya-Polo
(INRIA, BP93, 06902 Sophia-Antipolis, France)


Proceedings of the ECCOMAS CFD 2006 conference, Egmond aan Zee, The Netherlands, September 2006, and also INRIA report RR-5930 (21 pages)

Abstract: This paper presents a new functionality of the Automatic Differentiation (AD) Tool TAPENADE. TAPENADE generates adjoint codes which are widely used for optimization in CFD. 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 optimal checkpointing strategy. Some of the experimental results show memory savings up to 35% and execution time up to 90%.

Keywords: Automatic Differentiation, Reverse Mode, Checkpointing, TAPENADE

Full text (pdf)

@inproceedings{HascoetArayaRR06,
  author = {Hasco\"et, L. and Araya-Polo, M.},
  title = {Enabling User-driven checkpointing strategies in Reverse-mode Automatic Differentiation},
  booktitle = {Proceedings of the ECCOMAS CFD 2006 conference,
               Egmond aan Zee, The Netherlands},
  note = {also INRIA Research Report \#5930}
  url = {https://hal.inria.fr/inria-00079223},
  year=2006
}