The Tapenade Automatic Differentiation tool: principles, model, and specification - Inria - Institut national de recherche en sciences et technologies du numérique
Rapport (Rapport De Recherche) Année : 2012

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

Résumé

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.
Tapenade est un outil de Différentiation Automatique (DA) qui, étant donné un code Fortran ou C calculant une fonction, crée un nouveau code qui calcule ses dérivées tangente ou adjointe. Tapenade porte une attention particuliére á la différentiation adjointe, qui calcule des gradients trés efficacement. Nous décrivons les principes de DA utiles pour comprendre Tapenade. Nous motivons les choix qui nous guident dans son développement. Nous illustrons sur des exemples courts le modéle de différentiation choisi et les stratégies pour produire un code différentié efficace. Aprés cette description intuitive, nous donnons une spécification formelle de Tapenade au moyen d'équations data-flow et de régles de Sémantique Opérationnelle. Cette formalisation peut servir de base á des preuves de correction, principalement pour le mode adjoint. Nous décrivons enfin l'architecture de Tapenade, ses structures de données principales, et nous présentons ses performances sur des applications de taille industrielle. En conclusion, nous présentons les recherches en cours ou prévues.
Fichier principal
Vignette du fichier
RR-7957.pdf (1.18 Mo) Télécharger le fichier
Origine Fichiers éditeurs autorisés sur une archive ouverte
Loading...

Dates et versions

hal-00695839 , version 1 (14-05-2012)

Identifiants

  • HAL Id : hal-00695839 , version 1

Citer

Laurent Hascoët, Valérie Pascual. The Tapenade Automatic Differentiation tool: principles, model, and specification. [Research Report] RR-7957, INRIA. 2012, pp.53. ⟨hal-00695839⟩
273 Consultations
326 Téléchargements

Partager

More