Next: DAFOR Up: Contents Previous: ADIFOR

TAMC: Tangent and Adjoint Model Compiler

SYNOPSIS:

TAMC is a source-to-source translator that generates Fortran subroutines for computation of the first-order derivatives out of Fortran subroutines.

WHOM TO CONTACT:

Ralf Giering
Max-Planck-Institut für Meteorologie
Bundesstrasse 55
D-20146 Hamburg, Germany
Tel.: +49 40 41173 306
FAX: +49 40 41173 298
giering@dkrz.de
http://klima47.dkrz.de/giering
Current Address:
Dept. of Earth, Atmospheric, and Planetary Sciences
Massachusetts Institute of Technology
Cambridge, MA 02139-4307
ralf@sea.mit.edu
http://www.mit.edu/~giering

DOCUMENTATION:

FUNCTIONALITY:

TAMC provides automatic differentiation in forward and reverse mode for programs written in Fortran. Given a Fortran subroutine (or collection of subroutines) for a function f, TAMC produces Fortran subroutines for the computation of the derivatives of this function. The derivatives are computed in the reverse mode (adjoint model) or in the forward mode (tangent-linear model).

HIGHLIGHTS:

AMC offers the following features:
Fortran 77 Support:
For example, TAMC supports common blocks, procedure parameters, EQUIVALENCE statements. In addition to these features, the TAMC also supports common extensions such as DO ENDDO, IMPLICIT NONE and array assignments. When only using the reverse mode is used, statements like GOTO, ENTRY, alternative RETURN are not accepted.
Data Dependence Analysis:
TAMC applies a data dependence analysis. Given the input and output variables of a subroutine, TAMC determines all active routines and variables and produces derivative code only for those.
Checkpointing:
TAMC uses a checkpointing technique at block level for the reverse mode. Code to recompute required variables is generated in front of every basic block (statements with no data dependence). This code is restricted to statements absolutely necessary.
Directives
Using the reverse mode storing of variables instead of recomputation is controlled by directives.

AVAILABILITY:

TAMC is available for noncommercial use free of charge. Please send e-mail to Ralf Giering.


Next: DAFOR Up: Contents Previous: ADIFOR