The Tapenade Automatic Differentiation tool: principles, model, and specification

Tapenade is an Automatic Differentiation tool which, given a Fortran or C code that computes a function, creates a new code that computes its tangent or adjoint derivatives. Tapenade puts particular emphasis on adjoint differentiation, which computes gradients at a remarkably low cost. This paper describes the principles of Tapenade, a subset of the general principles of AD. We motivate and illustrate on examples the AD model of Tapenade, i.e. the structure of differentiated codes and the strategies used to make them more efficient. Along with this informal description, we formally specify this model by means of Data-Flow Equations and rules of Operational Semantics, making this the reference specification of the tangent and adjoint modes of Tapenade. One benefit we expect from this formal specification is the capacity to study formally the AD model itself, especially for the adjoint mode and its sophisticated strategies. This paper also describes the architectural choices of the implementation of Tapenade. We describe the current performances of Tapenade on a set of codes that include industrial-size applications. We present the extensions of the tool that are planned in a foreseeable future, deriving from our ongoing research on AD.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/hal-00695839
Author Hascoët, Laurent, Pascual, Valérie
Maintainer CCSD
Last Updated May 19, 2026, 11:52 (UTC)
Created May 19, 2026, 11:52 (UTC)
Identifier Report N°: RR-7957
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Program transformations for scientific computing (TROPICS) ; Centre Inria d'Université Côte d'Azur ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
creator Hascoët, Laurent
date 2012-05-19T00:00:00
harvest_object_id 550d7ed5-1994-4d23-90fb-2515792f74fa
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2025-08-26T00:00:00
set_spec type:REPORT