Cheaper Adjoints by Reversing Address Computations

TitleCheaper Adjoints by Reversing Address Computations
Publication TypeJournal Article
Year of Publication2007
AuthorsHascoet, L, Utke, J, Naumann, U
JournalSci. Programming
Other NumbersANL/MCS-P1470-1207

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.