Publication: Efficient Expression Templates for Operator Overloading-Based Automatic Differentiation
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

Efficient Expression Templates for Operator Overloading-Based Automatic Differentiation

- incollection -
 

Author(s)
Eric Phipps , Roger Pawlowski

Published in
Recent Advances in Algorithmic Differentiation

Editor(s)
Shaun Forth, Paul Hovland, Eric Phipps, Jean Utke, Andrea Walther

Year
2012

Publisher
Springer

Abstract
Expression templates are a well-known set of techniques for improving the efficiency of operator overloading-based forward mode automatic differentiation schemes in the C ++ programming language by translating the differentiation from individual operators to whole expressions. However standard expression template approaches result in a large amount of duplicate computation, particularly for large expression trees, degrading their performance. In this paper we describe several techniques for improving the efficiency of expression templates and their implementation in the automatic differentiation package Sacado (Phipps et al., Advances in automatic differentiation, Lecture notes in computational science and engineering, Springer, Berlin, 2008; Phipps and Gay, Sacado automatic differentiation package. http://trilinos.sandia.gov/packages/Sacado/, 2011). We demonstrate their improved efficiency through test functions as well as their application to differentiation of a large-scale fluid dynamics simulation code.

Cross-References
Forth2012RAi

AD Tools
Sacado

AD Theory and Techniques
Code Optimization

BibTeX
@INCOLLECTION{
         Phipps2012EET,
       title = "Efficient Expression Templates for Operator Overloading-Based Automatic
         Differentiation",
       doi = "10.1007/978-3-642-30023-3_28",
       author = "Eric Phipps and Roger Pawlowski",
       abstract = "Expression templates are a well-known set of techniques for improving the
         efficiency of operator overloading-based forward mode automatic differentiation schemes in the C ++
         programming language by translating the differentiation from individual operators to whole
         expressions. However standard expression template approaches result in a large amount of duplicate
         computation, particularly for large expression trees, degrading their performance. In this paper we
         describe several techniques for improving the efficiency of expression templates and their
         implementation in the automatic differentiation package Sacado (Phipps et al., Advances in automatic
         differentiation, Lecture notes in computational science and engineering, Springer, Berlin, 2008;
         Phipps and Gay, Sacado automatic differentiation package.
         http://trilinos.sandia.gov/packages/sacado/, 2011). We demonstrate their improved efficiency through
         test functions as well as their application to differentiation of a large-scale fluid dynamics
         simulation code.",
       pages = "309--319",
       crossref = "Forth2012RAi",
       booktitle = "Recent Advances in Algorithmic Differentiation",
       series = "Lecture Notes in Computational Science and Engineering",
       publisher = "Springer",
       address = "Berlin",
       volume = "87",
       editor = "Shaun Forth and Paul Hovland and Eric Phipps and Jean Utke and Andrea Walther",
       isbn = "978-3-540-68935-5",
       issn = "1439-7358",
       year = "2012",
       ad_tools = "Sacado",
       ad_theotech = "Code Optimization"
}


back
  

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