TAMC Overview
CONDITIONS OF USAGE:
The generated code is for non-profit-orientated academic research and education only. Any commercial or other profit-orientated use or evaluation is strictly forbidden. Passing the code to any third party is not allowed.For commercial or other profit-orientated applications please contact info@fastopt.com .
By using TAMC you are accepting the conditions above. Any usage is logged.
AVAILABILITY:
TAMC can be used remotely via Email.SYNOPSIS:
TAMC is a source-to-source translator that generates Fortran routines for computation of the first-order derivatives out of Fortran routines.FUNCTIONALITY:
TAMC provides automatic differentiation in forward and reverse mode for programs written in Fortran. Given a Fortran routine (or collection of routines) for a function, TAMC produces Fortran routines 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). In both modes Jacobian-Matrix products can be computed.HIGHLIGHTS:
- Fortran 77 Support:
- TAMC supports almost the full FORTRAN-77 standard.
- Fortran 90 Support:
- Most Fortran-90 extensions to FORTRAN-77 are supported. Array assignments and WHERE statements are supported. Modules and use-statements are supported. All intrinsic functions are handled (some restrictions apply).
- Analysises:
- TAMC normalizes the code and applies a control flow analysis. TAMC applies an intraprocedural data dependence and an interprocedural data flow analysis. Given the independent and dependent variables of the specified top-level routine, TAMC determines all active routines and variables and produces derivative code only for those.
- Directives
- TAMC accepts several directives. Using the reverse mode storing of variables instead of recomputation is controlled by directives.
Multi level checkpointing can be implemented by splitting a loop and inserting directives.
Black box (library) routines are handled using flow information given by directives.
Last changes August 18th 1999.