On combining computational differentiation and toolkits for parallel scientific computing

CH Bischof, HM Bücker, PD Hovland - European Conference on Parallel …, 2000 - Springer
CH Bischof, HM Bücker, PD Hovland
European Conference on Parallel Processing, 2000Springer
Automatic differentiation is a powerful technique for evalu-ating derivatives of functions
given in the form of a high-level program-ming language such as Fortran, C, or C++. The
program is treated as a potentially very long sequence of elementary statements to which
the chain rule of differential calculus is applied over and over again. Combining automatic
differentiation and the organizational structure of toolkits for parallel scientific computing
provides a mechanism for eval-uating derivatives by exploiting mathematical insight on a …
Abstract
Automatic differentiation is a powerful technique for evalu- ating derivatives of functions given in the form of a high-level program- ming language such as Fortran, C, or C++. The program is treated as a potentially very long sequence of elementary statements to which the chain rule of differential calculus is applied over and over again. Combining automatic differentiation and the organizational structure of toolkits for parallel scientific computing provides a mechanism for eval- uating derivatives by exploiting mathematical insight on a higher level. In these toolkits, algorithmic structures such as BLAS-like operations, linear and nonlinear solvers, or integrators for ordinary differential equations can be identified by their standardized interfaces and recognized as high-level mathematical objects rather than as a sequence of elemen- tary statements. In this note, the differentiation of a linear solver with respect to some parameter vector is taken as an example. Mathematical insight is used to reformulate this problem into the solution of multiple linear systems that share the same coefficient matrix but differ in their right-hand sides. The experiments reported here use ADIC, a tool for the automatic differentiation of C programs, and PETSc, an object-oriented toolkit for the parallel solution of scientific problems modeled by partial differential equations.
Springer
Showing the best result for this search. See all results