Integrating Enzyme-generated functions into CoDiPack
M. Sagebaum, M. Aehle, N.R. Gauger

TL;DR
This paper introduces a new method to automatically integrate Enzyme-generated derivative functions into CoDiPack, simplifying manual implementation and maintaining efficiency, demonstrated through a synthetic benchmark.
Contribution
It presents a novel helper in CoDiPack that enables automatic inclusion of Enzyme-generated derivatives during recording, enhancing automation in operator overloading AD.
Findings
Successful integration of Enzyme derivatives into CoDiPack
Promising performance results on synthetic benchmarks
Simplifies manual derivative implementation process
Abstract
In operator overloading algorithmic differentiation, it can be beneficial to create custom derivative functions for some parts of the code base. For manual implementations of the derivative functions, it can be quite cumbersome to derive, implement, test, and maintain these. The process can be automated with source transformation algorithmic differentiation tools like Tapenade or compiler-based algorithmic differentiation tools like Enzyme. This eliminates most of the work required from a manual implementation but usually has the same efficiency with respect to timing and memory. We present a new helper in CoDiPack that allows Enzyme-generated derivative functions to be automatically added during the recording process of CoDiPack. The validity of the approach is demonstrated on a synthetic benchmark, which shows promising results.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Software Testing and Debugging Techniques
