Automatic differentiation of C++ codes for large-scale scientific computing.
Conference
·
OSTI ID:943906
We discuss computing first derivatives for models based on elements, such as large-scale finite-element PDE discretizations, implemented in the C++ programming language.We use a hybrid technique of automatic differentiation (AD) and manual assembly, with local element-level derivatives computed via AD and manually summed into the global derivative. C++ templating and operator overloading work well for both forward- and reverse-mode derivative computations. We found that AD derivative computations compared favorably in time to finite differencing for a scalable finite-element discretization of a convection-diffusion problem in two dimensions.
- Research Organization:
- Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC04-94AL85000
- OSTI ID:
- 943906
- Report Number(s):
- SAND2006-0902C; TRN: US200902%%363
- Resource Relation:
- Conference: Proposed for presentation at the Third International Workshop on Automatic Differentiation: Tools and Application at ICCS 2006 held May 28-31, 2006 in Reading, UK.
- Country of Publication:
- United States
- Language:
- English
Similar Records
Automatic Differentiation of C++ Codes on Emerging Manycore Architectures with Sacado
Large-scale transient sensitivity analysis of a radiation damaged bipolar junction transistor.
Integrating automatic differentiation with object-oriented toolkits for high-performance scientific computing.
Journal Article
·
Mon Dec 19 00:00:00 EST 2022
· ACM Transactions on Mathematical Software
·
OSTI ID:943906
Large-scale transient sensitivity analysis of a radiation damaged bipolar junction transistor.
Conference
·
Thu Nov 01 00:00:00 EDT 2007
·
OSTI ID:943906
+1 more
Integrating automatic differentiation with object-oriented toolkits for high-performance scientific computing.
Conference
·
Wed Nov 01 00:00:00 EST 2000
·
OSTI ID:943906
+3 more