Integrating Enzyme-generated functions into CoDiPack

07/12/2023
by   M. Sagebaum, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/23/2020

Index handling and assign optimization for Algorithmic Differentiation reuse index managers

For operator overloading Algorithmic Differentiation tools, the identifi...
research
12/16/2019

PETSc TSAdjoint: a discrete adjoint ODE solver for first-order and second-order sensitivity analysis

We present a new software system PETSc TSAdjoint for first-order and sec...
research
11/14/2018

Stochastic Algorithmic Differentiation of (Expectations of) Discontinuous Functions (Indicator Functions)

In this paper we present a method for the accurate estimation of the der...
research
05/16/2023

On the implementation of checkpointing with high-level algorithmic differentiation

Automated code generation allows for a separation between the developmen...
research
09/21/2017

High-Performance Derivative Computations using CoDiPack

There are several AD tools available, which all implement different stra...
research
02/02/2022

Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering

Dr.Jit is a new just-in-time compiler for physically based rendering and...
research
07/13/2022

Reduction of the Random Access Memory Size in Adjoint Algorithmic Differentiation by Overloading

Adjoint algorithmic differentiation by operator and function overloading...

Please sign up or login with your details

Forgot password? Click here to reset