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
}