Efficient expression templates for operator overloading-based automatic differentiation 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 { t Sacado} [{it E. T. Phipps} et al., Lect. Notes Comput. Sci. Eng. 64, 351--362 (2008); {it E. T. Phipps} and {it D. M. Gay}, Sacado automatic differentiation package (2011), url{}]. We demonstrate their improved efficiency through test functions as well as their application to differentiation of a large-scale fluid dynamics simulation code.

References in zbMATH (referenced in 14 articles , 1 standard article )

Showing results 1 to 14 of 14.
Sorted by year (citations)

  1. Blühdorn, Johannes; Gauger, Nicolas R.; Kabel, Matthias: AutoMat: automatic differentiation for generalized standard materials on GPUs (2022)
  2. Díaz-Ibarra, Oscar; Kim, Kyungjoo; Safta, Cosmin; Zádor, Judit; Najm, Habib N.: Using computational singular perturbation as a diagnostic tool in ODE and DAE systems: a case study in heterogeneous catalysis (2022)
  3. Arndt, Daniel; Bangerth, Wolfgang; Davydov, Denis; Heister, Timo; Heltai, Luca; Kronbichler, Martin; Maier, Matthias; Pelteret, Jean-Paul; Turcksin, Bruno; Wells, David: The \textscdeal.II finite element library: design, features, and insights (2021)
  4. Freno, Brian A.; Carnes, Brian R.; Weirs, V. Gregory: Code-verification techniques for hypersonic reacting flows in thermochemical nonequilibrium (2021)
  5. Peñuñuri, F.; Peón, R.; González-Sánchez, D.; Escalante Soberanis, M. A.: Dual numbers and automatic differentiation to efficiently compute velocities and accelerations (2020)
  6. Li, Zhen; Bloomfield, Max O.; Oberai, Assad A.: Simulation of finite-strain inelastic phenomena governed by creep and plasticity (2018)
  7. Shadid, J. N.; Pawlowski, R. P.; Cyr, E. C.; Tuminaro, R. S.; Chacón, L.; Weber, P. D.: Scalable implicit incompressible resistive MHD with stabilized FE and fully-coupled Newton-Krylov-AMG (2016)
  8. Bob Carpenter, Matthew D. Hoffman, Marcus Brubaker, Daniel Lee, Peter Li, Michael Betancourt: The Stan Math Library: Reverse-Mode Automatic Differentiation in C++ (2015) arXiv
  9. Hogan, Robin J.: Fast reverse-mode automatic differentiation using expression templates in C++ (2014)
  10. Li, Xiang; Zhang, Dongxiao: A backward automatic differentiation framework for reservoir simulation (2014)
  11. Rudraraju, S.; Van der Ven, A.; Garikipati, K.: Three-dimensional isogeometric solutions to general boundary value problems of Toupin’s gradient elasticity theory at finite strains (2014)
  12. Gay, David M.: Using expression graphs in optimization algorithms (2012)
  13. Phipps, Eric; Pawlowski, Roger: Efficient expression templates for operator overloading-based automatic differentiation (2012)
  14. Phipps, Eric T.; Bartlett, Roscoe A.; Gay, David M.; Hoekstra, Robert J.: Large-scale transient sensitivity analysis of a radiation-damaged bipolar junction transistor via automatic differentiation (2008)