Performance Issues for Vertex Elimination Methods in Computing Jacobians using Automatic Differentiation.
Date published
Free to read from
Supervisor/s
Journal Title
Journal ISSN
Volume Title
Publisher
Department
Type
ISSN
Format
Citation
Abstract
In this paper, we present first results from EliAD, a new automatic differentiation tool. EliAD uses the Elimination approach for Automatic Differentation first advocated by Griewank and Reese (Automatic Differentiation of Algorithms, SIAM, 1991 p126-135). EliAD implements this technique via source-transformation, writing new Fortran code for the Jacobians of functions defined by existing Fortran code. Our results are from applying EliAD to the Roe flux routine commonly used in computational fluid dynamics. We show that we can produce code that calculates the associated flux Jacobian approaching or in excess of twice the speed of current state-of-the-art automatic differentiation tools. However, in order to do so we must take into account the architecture on which we are running our code. In particular, on processors that do not support out-of-order execution, we must reorder our derivative code so that values may be reused while in arithmetic registers in order that the floating point arithmetic pipeline may be kept full.