TAF
Summary:
Transformation of Algorithms in Fortran (TAF) is a sourcetosource ADtool for Fortran95 programs. TAF supports forward and reverse mode of AD and Automatic Sparsity Detection (ASD) for detection of the sparsity structure of Jacobians.
URL: http://fastopt.de/products/taf/taf.shtml
Developers:
 Ralf Giering,
FastOpt
Mode: 
Forward Reverse 
Method: 
Source transformation 
Supported Language: 
Fortran 77/90 Fortran2003 Fortran2008 Fortran77 Fortran95 
Reference:
Ralf Giering, Thomas Kaminski
Recipes for Adjoint Code Construction
Article in ACM Transactions on Mathematical Software, 1998
Ralf Giering, Thomas Kaminski, T. Slawig
Generating Efficient Derivative Code with TAF: Adjoint and Tangent Linear Euler Flow Around an Airfoil
Article in Future Generation Computer Systems, 2005
Recipes for Adjoint Code Construction
Article in ACM Transactions on Mathematical Software, 1998
Ralf Giering, Thomas Kaminski, T. Slawig
Generating Efficient Derivative Code with TAF: Adjoint and Tangent Linear Euler Flow Around an Airfoil
Article in Future Generation Computer Systems, 2005
Features:
 Fortran95 Support:

TAF supports the full Fortran95 standard.  Fortran2003 Support:

TAF supports part of the Fortran2003 standard.  Fortran2008 Support:

TAF supports some of the Fortran2008 standard.  Analyses:

TAF normalizes the code and applies a control flow analysis. TAF applies
an intraprocedural data dependence and an interprocedural data flow analysis.
Given the independent and dependent variables of the specified toplevel
routine, TAF determines all active routines and variables and produces
derivative code only for those.  Performance:

TAF predicts the computational costs of code fragments for an (sub)optimal
decision between recomputation and storing of intermediate results in reverse
mode.  Directives:

TAF accepts several kinds of directives. Using the reverse mode storing
of variables 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: license
Entries in our publication database that actually use TAF in the numerical experiments: 66
The following diagram shows these entries versus the year of the publication.















'96  '98  '01  '02  '03  '04  '05  '06  '07  '08  '09  '11  '16  
Year 
Related Research Groups: