Efficient Expression Templates for Operator Overloading-Based Automatic Differentiation

From MaRDI portal
Publication:2913148

DOI10.1007/978-3-642-30023-3_28zbMATH Open1252.65057arXiv1205.3506OpenAlexW1511734500MaRDI QIDQ2913148FDOQ2913148

Eric T. Phipps, Roger P. Pawlowski

Publication date: 26 September 2012

Published in: Lecture Notes in Computational Science and Engineering (Search for Journal in Brave)

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. We demonstrate their improved efficiency through test functions as well as their application to differentiation of a large-scale fluid dynamics simulation code.


Full work available at URL: https://arxiv.org/abs/1205.3506






Cited In (16)

Uses Software


Recommendations





This page was built for publication: Efficient Expression Templates for Operator Overloading-Based Automatic Differentiation

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2913148)