Publication: Looking for Narrow Interfaces in Automatic Differentiation
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

Looking for Narrow Interfaces in Automatic Differentiation

- Article in a journal -
 

Author(s)
H. M. Bücker

Published in
Future Generation Computer Systems

Year
2005

Abstract
Automatic differentiation is a powerful technique for evaluating derivatives of functions given in the form of a high-level programming language such as Fortran, C, or C++. This technique is superior, in terms of accuracy, to numerical differentiation because it avoids the truncation error involved in divided difference approximations. In automatic differentiation, the program is treated as a potentially very long composition of elementary functions to which the chain rule of differential calculus is applied over and over again. Because of the associativity of the chain rule, there is room for different strategies computing the same numerical results but whose computational cost may vary significantly. Several strategies exploiting high-level structure of the underlying computer code are known to reduce computational cost as opposed to blindly applying automatic differentiation. An example includes ``interface contraction″ where one takes advantage of the fact that the number of variables passed between subroutines is small compared with the number of propagated directional derivatives. Unfortunately, these so-called narrow interfaces are not immediately available. This study investigates the use of the VCG graph drawing tool to recognize narrow interfaces in the computational graph, a certain directed acyclic graph used to represent data dependences of variables in the underlying computer code.

AD Theory and Techniques
Interface Contraction

BibTeX
@ARTICLE{
         Bucker2005LfN,
       author = "H. M. B{\"u}cker",
       title = "Looking for Narrow Interfaces in Automatic Differentiation",
       journal = "Future Generation Computer Systems",
       pages = "1418--1425",
       doi = "doi:10.1016/j.future.2004.11.007",
       abstract = "Automatic differentiation is a powerful technique for evaluating derivatives of
         functions given in the form of a high-level programming language such as Fortran, C, or C++. This
         technique is superior, in terms of accuracy, to numerical differentiation because it avoids the
         truncation error involved in divided difference approximations. In automatic differentiation, the
         program is treated as a potentially very long composition of elementary functions to which the chain
         rule of differential calculus is applied over and over again. Because of the associativity of the
         chain rule, there is room for different strategies computing the same numerical results but whose
         computational cost may vary significantly. Several strategies exploiting high-level structure of the
         underlying computer code are known to reduce computational cost as opposed to blindly applying
         automatic differentiation. An example includes ``interface contraction'' where one takes
         advantage of the fact that the number of variables passed between subroutines is small compared with
         the number of propagated directional derivatives. Unfortunately, these so-called narrow interfaces
         are not immediately available. This study investigates the use of the VCG graph drawing tool to
         recognize narrow interfaces in the computational graph, a certain directed acyclic graph used to
         represent data dependences of variables in the underlying computer code.",
       year = "2005",
       volume = "21",
       number = "8",
       ad_theotech = "Interface Contraction"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)