Cheaper Adjoints by Reversing Address Computations
Laurent Hascoët
Jean Utke
Uwe Naumann
Article in Scientific Programming (18 pages)
Abstract:
The reverse mode of Automatic Differentiation
is widely used in science and engineering.
A severe bottleneck for the performance of the reverse mode, however,
is the necessity to recover certain intermediate values of the program in reverse order.
Among these values are computed addresses, which traditionally are
recovered through forward recomputation and storage in memory.
We propose an alternative approach for recovery that
uses inverse computation based on dependency information.
Address storage constitutes a significant portion of the overall
storage requirements.
An example illustrates substantial gains that the proposed approach yields
and we show use cases in practical applications
Keywords:
program transformation, automatic differentiation, inverse computation
Full text (pdf)
@article{Hascoet2008Cab,
author = {Hasco{\"e}t, L. and Utke, J. and Naumann, U.},
title = {Cheaper Adjoints by Reversing Address Computations},
journal = {Scientific Programming},
publisher = "IOS Press",
Volume = 16,
Number = {1},
pages = "81--92",
year = 2008
}