Clad enables automatic differentiation (AD) for C++. It is based on LLVM compiler infrastructure and is a plugin for Clang compiler. Clad is based on source code transformation. Given C++ source code of a mathematical function, it can automatically generate C++ code for computing derivatives of the function.
Enable reverse-mode automatic differentiation of (CUDA) GPU kernels using Clad
Implement and improve an efficient, layered tape with prefetching capabilities
Improve automatic differentiation of object-oriented paradigms using Clad