2012/05/15 by Eric Phipps, Phipps, Eric, Roger P. Pawlowski +2 · 1 citation
Computer Science · Decision Sciences · #Computational Engineering #Distributed and Parallel Computing Systems #FOS: Computer and information sciences #Finance #Mathematical Software (cs.MS) #Parallel Computing and Optimization Techniques #Simulation Techniques and Applications #and Science (cs.CE) #cs.CE #cs.MS
paper · pdf · doi:10.48550/arxiv.1205.3506
arxiv created 2012/05/15 · openalex publication_date 2012/05/15 · arxiv updated 2012/05/21 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
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.