Publication: High-Performance Derivative Computations using CoDiPack
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

High-Performance Derivative Computations using CoDiPack

- Article in a journal -
 

Author(s)
M. Sagebaum , T. Albring , N. R. Gauger

Published in
ACM Transactions on Mathematical Software

Year
2019

Publisher
Association for Computing Machinery

Abstract
There are several ad tools available that all implement different strategies for the reverse mode of ad. The most common strategies are primal value taping (implemented e.g. by ADOL-C) and Jacobian taping (implemented e.g. by Adept and dco/c++). Particulary for Jacobian taping, recent advances using expression templates make it very attractive for large scale software. However, the current implementations are either closed source or miss essential features and flexibility. Therefore, we present the new ad tool CoDiPack (Code Differentiation Package) in this paper. It is specifically designed for minimal memory consumption and optimal runtime, such that it can be used for the differentiation of large scale software. An essential part of the design of CoDiPack is the modular layout and the recursive data structures which not only allow the efficient implementation of the Jacobian taping approach but will also enable other approaches like the primal value taping or new research ideas. We will finally present the performance values of CoDiPack on a generic PDE example and on the SU2 code.

AD Tools
CoDiPack

BibTeX
@ARTICLE{
         Sagebaum2019HPD,
       title = "High-Performance Derivative Computations using {CoDiPack}",
       author = "M. Sagebaum and T. Albring and N.R. Gauger",
       url = "https://doi.org/10.1145/3356900",
       doi = "10.1145/3356900",
       year = "2019",
       journal = "ACM Transactions on Mathematical Software",
       volume = "45",
       number = "4",
       ad_tools = "CoDiPack",
       publisher = "Association for Computing Machinery",
       address = "New York, NY, USA",
       abstract = "There are several AD tools available that all implement different strategies for
         the reverse mode of AD. The most common strategies are primal value taping (implemented e.g. by
         ADOL-C) and Jacobian taping (implemented e.g. by Adept and dco/c++). Particulary for Jacobian
         taping, recent advances using expression templates make it very attractive for large scale software.
         However, the current implementations are either closed source or miss essential features and
         flexibility. Therefore, we present the new AD tool CoDiPack (Code Differentiation Package) in this
         paper. It is specifically designed for minimal memory consumption and optimal runtime, such that it
         can be used for the differentiation of large scale software. An essential part of the design of
         CoDiPack is the modular layout and the recursive data structures which not only allow the efficient
         implementation of the Jacobian taping approach but will also enable other approaches like the primal
         value taping or new research ideas. We will finally present the performance values of CoDiPack on a
         generic PDE example and on the SU2 code.",
       articleno = "38",
       numpages = "26",
       keywords = "Algorithmic differentiation, expression templates, recursive data structures,
         efficient implementation, maintainable implementation"
}


back
  

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