AD Tool: TAF
Introduction
Applications
Tools
Research Groups
Workshops
Publications
My Account
About
Impress

TAF


Summary:
Transformation of Algorithms in Fortran (TAF) is a source-to-source AD-tool for Fortran-95 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:
Mode: Forward
Reverse
 
Method: Source transformation
 
Supported Language: Fortran 77/90
Fortran2003
Fortran2008
Fortran2018
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



Features:

Fortran-95 Support:

TAF supports the full Fortran-95 standard.

Fortran-2003 Support:

TAF supports allmost all of the Fortran-2003 standard.

Fortran-2008 Support:

TAF supports most of the Fortran-2008 standard.

Fortran-2018 Support:

TAF supports most of the Fortran-2018 standard.

MPI Support:

TAF supports collective communications, blocking, and non-blocking point-to-point communications

OpenMP Support:

TAF supports most of OpenMP-3.1


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 top-level
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.


AwardsHeinz-Billing-Award 1995 for the advancement of scientific computing

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.

10+
#Entries
0
1
1
1
11
18
7
14
5
3
2
1
1
1
'96 '98 '01 '02 '03 '04 '05 '06 '07 '08 '09 '11 '16
Year

Related Research Groups:

  

Contact:
autodiff.org
Username:
Password:
(lost password)