Algorithmic differentiation of code with multiple context-specific activities

Abstract : Algorithmic differentiation (AD) by source-transformation is an established method for computing derivatives of computational algorithms. Static data-flow analysis is commonly used by AD tools to determine the set of active variables, that is, variables that are influenced by the program input in a differentiable way and have a differentiable influence on the program output. In this work, a context-sensitive static analysis combined with procedure cloning is used to generate specialised versions of differentiated procedures for each call site. This enables better detection and elimination of unused computations and memory storage, resulting in performance improvements of the generated code, in both forward and reverse mode AD. The implications of this multi-activity AD approach on the static analysis of an AD tool is shown using data flow equations. The worst-case cost of multi-activity AD on the differentiation process is analysed and practical remedies to avoid running into this worst-case are presented. The method was implemented in the AD tool Tapenade, and we present its application to a 3D unstructured compressible flow solver, for which we generate an adjoint solver that performs significantly faster when multi-activity AD is used.
Type de document :
Article dans une revue
ACM Transactions on Mathematical Software, Association for Computing Machinery, 2016
Liste complète des métadonnées

Littérature citée [21 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01413321
Contributeur : Laurent Hascoet <>
Soumis le : vendredi 9 décembre 2016 - 16:08:34
Dernière modification le : jeudi 11 janvier 2018 - 16:47:37

Fichier

updated-manuscriptR2.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01413321, version 1

Collections

Citation

Jan Christian Hueckelheim, Laurent Hascoët, Jens-Dominik Müller. Algorithmic differentiation of code with multiple context-specific activities. ACM Transactions on Mathematical Software, Association for Computing Machinery, 2016. 〈hal-01413321〉

Partager

Métriques

Consultations de la notice

75

Téléchargements de fichiers

91