TAMC
Summary:
TAMC is a source-to-source AD-tool for FORTRAN-77 programs. The generated code propagates derivatives in forward (tangent linear) or reverse (adjoint) mode. TAMC is very flexible thanks to many options and user directives.
URL: http://www.autodiff.com/tamc
Developers:
- Ralf Giering,
FastOpt
Mode: |
Forward |
Method: |
Source transformation |
Supported Language: |
Fortran77 |
Reference:
Ralf Giering
Tangent Linear and Adjoint Model Compiler, Users Manual
Center for Global Change Sciences, Department of Earth, Atmospheric, and Planetary Science, MIT, 1997
Ralf Giering, Thomas Kaminski
Recipes for Adjoint Code Construction
Article in ACM Transactions on Mathematical Software, 1998
Tangent Linear and Adjoint Model Compiler, Users Manual
Center for Global Change Sciences, Department of Earth, Atmospheric, and Planetary Science, MIT, 1997
Ralf Giering, Thomas Kaminski
Recipes for Adjoint Code Construction
Article in ACM Transactions on Mathematical Software, 1998
Features:
- Fortran 77 Support:
- TAMC supports almost the full FORTRAN-77 standard and also some common extenstions.
- Fortran 90 Support:
- Some Fortran-90 extensions to FORTRAN-77 are supported.
Array assignments and WHERE statements are supported.
Most intrinsic functions are handled.
- 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.
Supported Platforms:
- Application Server
Licensing: free with restrictions
Entries in our publication database that actually use TAMC in the numerical experiments: 130
The following diagram shows these entries versus the year of the publication.
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
'96 | '97 | '98 | '99 | '00 | '01 | '02 | '03 | '04 | '05 | '06 | '08 | ||||
Year |
Related Research Groups: