

On Combining Computational Differentiation and Toolkits for Parallel Scientific Computing
Part of a collection
  

Author(s)
C. H. Bischof
, H. M. Bücker
, P. D. Hovland

Published in EuroPar 2000  Parallel Processing, Proceedings of the 6th International EuroPar Conference, Munich, Germany, August/September 2000

Editor(s) A. Bode, T. Ludwig, W. Karl, R. Wismüller 
Year 2000 
Publisher Springer 
Abstract Automatic differentiation is a powerful technique for evaluating derivatives of functions given in the form of a highlevel programming 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 evaluating derivatives by exploiting mathematical insight on a higher level. In these toolkits, algorithmic structures such as BLASlike operations, linear and nonlinear solvers, or integrators for ordinary differential equations can be identified by their standardized interfaces and recognized as highlevel mathematical objects rather than as a sequence of elementary 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 righthand sides. The experiments reported here use ADIC, a tool for the automatic differentiation of C programs, and PETSc, an objectoriented toolkit for the parallel solution of scientific problems modeled by partial differential equations. 
AD Theory and Techniques Toolkits 
BibTeX
@INPROCEEDINGS{
Bischof2000OCC,
author = "C.~H.~Bischof and H.~M.~B{\"u}cker and P.~D.~Hovland",
title = "On Combining Computational Differentiation and Toolkits for Parallel Scientific
Computing",
booktitle = "EuroPar~2000  Parallel Processing, Proceedings of the 6th International
EuroPar Conference, Munich, Germany, August/September~2000",
editor = "A.~Bode and T.~Ludwig and W.~Karl and R.~Wism{\"u}ller",
volume = "1900",
series = "Lecture Notes in Computer Science",
pages = "8694",
address = "Berlin",
publisher = "Springer",
abstract = "Automatic differentiation is a powerful technique for evaluating derivatives of
functions given in the form of a highlevel programming 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 evaluating derivatives by exploiting mathematical insight on a higher level. In these toolkits,
algorithmic structures such as BLASlike operations, linear and nonlinear solvers, or integrators
for ordinary differential equations can be identified by their standardized interfaces and
recognized as highlevel mathematical objects rather than as a sequence of elementary 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 righthand sides. The
experiments reported here use ADIC, a tool for the automatic differentiation of C~programs, and
PETSc, an objectoriented toolkit for the parallel solution of scientific problems modeled by
partial differential equations.",
ad_theotech = "Toolkits",
year = "2000",
doi = "10.1007/354044520X_12"
}
 
back

