Derivgrind is an automatic differentiation tool applicable to compiled “client” programs. It has been implemented in the Valgrind framework for building dynamic analysis tools. Derivgrind’s entire instrumentation of the client program with forward- or reverse-mode AD logic only relies on the client program’s machine code. Partial access to the client program’s source code might be required for the sole purpose of identifying input and output variables.
We released Derivgrind as open source software under the GPLv2 license.
The source code is available on GitHub.
If you use Derivgrind in one of your publications, please cite us!