CoDiPack
Summary:
CoDiPack is a C++-library that enables the computation of gradients in computer programs using Algorithmic Differentiation. It is based on the Operator Overloading approach and uses static polymorphism and expression templates, resulting in an extremely fast evaluation of adjoints or forward derivatives. It is specifically designed with HPC applications in mind.
URL: https://scicomp.rptu.de/software/codi/
Developers:
- Max Sagebaum, University of Kaiserslautern-Landau (RPTU)
- Prof. Nicolas Gauger, University of Kaiserslautern-Landau (RPTU)
- Johannes Blühdorn, University of Kaiserslautern-Landau (RPTU)
Mode: |
Forward Reverse |
Method: |
Operator overloading |
Supported Language: |
C/C++ |
Reference:
M. Sagebaum, T. Albring, N. R. Gauger
High-Performance Derivative Computations using CoDiPack
Article in ACM Transactions on Mathematical Software, Association for Computing Machinery, 2019
High-Performance Derivative Computations using CoDiPack
Article in ACM Transactions on Mathematical Software, Association for Computing Machinery, 2019
Features:
- Reverse and Forward mode derivatives.
- Higher order derivatives.
- MPI communication using MeDiPack.
- Jacobian taping approach (codi::RealReverse)
- Primal value taping approach (codi::RealReversePrimal)
- Linear and reuse index management approaches.
- Vector mode
- External function interface.
- Many other helpers (see the tutorials).
Supported Platforms:
- Windows
- Unix/Linux
- Mac
Licensing: open source
Entries in our publication database that actually use CoDiPack in the numerical experiments: 6
The following diagram shows these entries versus the year of the publication.
|
![]() |
![]() |
![]() |
|||
'15 | '18 | '19 | ||||
Year |
Related Research Groups: