Section: New Results

AD of mixed-language codes

Participants : Valérie Pascual, Laurent Hascoët.

We extend Tapenade to differentiate codes that mix different languages, for both tangent and adjoint modes of AD. Our motivating application is Calculix, a 3-D Structural Finite Element code that mixes Fortran and C. This year we improved the memory representation of Tapenade's IR to handle the C-Fortran memory correspondence (commons, structs...) defined by the Fortran standard.

C files (aka “translation units”) and Fortran modules are two instances of the more general notion of “package” for which we have developed a unified representation in Tapenade, that also handles C++ namespaces.