OpenAD - Components Overview
The main components as of this time
are shown in figure above in the green box. Language-specific front
ends (Open64) for Fortran and EDG/Sage3 for C/C++) parse the code
into their specific internal representations. The framework contains
conversion components that extract the numerical kernel of the source
code computing and translates the kernel to a
language-independent XML representation called XAIF. The translation
includes the results of common compiler analyses performed in
OpenAnalysis. All AD-specific analysis and transformation are
encapsulated in the xaifBooster component. On return, the transformed
XAIF is sent back to the translator components, which create source code
in the original programming language in conjunction with the compiler
front ends.