J. Abate, S. Benson, L. Grignon, P. Hovland, L. McInnes, B. Norris, "Integrating Automatic Differentiation with Object-Oriented Toolkits for High-Performance Scientific Computing," Preprint ANL/MCS-P820-0500, May 2000. [pdf]
Often the most robust and efficient algorithms for the solution of large-scale problems involving nonlinear PDEs and optimization require the computation of derivative quantities. We examine the use of automatic differentiation (AD) to provide code for computing first and second derivatives in conjunction with two parallel numerical toolkits, the Portable, Extensible Toolkit for Scientific Computing (PETSc) and the Toolkit for Advanced Optimization (TAO). We discuss how the use of mathematical abstractions for vectors and matrices in these libraries facilitates the use of AD to automatically generate derivative codes and present performance data demonstrating the suitability of this approach.