PSyclone

PSyclone automatic differentiation module

PSyclone autodiff module is PSyclone’s prototype implementation of source-to-source automatic differentiation. It takes generic Fortran code and applies automatic differentiation in forward- (tangent) or reverse- (adjoint) mode.

It is inspired by Tapenade (see Hascoet and Pascual[1] and [2]), which is also used to perform numerical tests of the transformations, and OpenAD (see Utke et al.[3]).

The general approach and transformations rules were adapted from Griewank and Walther[4].