TAPENADE for C

Valérie Pascual
Laurent Hascoët
(INRIA, BP93, 06902 Sophia-Antipolis, France)


Proceedings of the AD2008 Conference, Bonn, Germany, august 2008 (10 pages)

Abstract: We present the first version of the tool TAPENADE that can differentiate C programs. The architecture of TAPENADE was designed from the start to be language independent. We describe how this choice made adaption to C easier. In principle, it needed only a new front-end and back-end for C. However we encountered several problems, in particular related to declarations style, include files, parameter-passing mechanism, and extensive use of pointers. We describe how we addressed these problems, and how the resulting improvements also benefits to differentiation of Fortran programs.

Keywords: TAPENADE, C, Automatic Differentiation, Software Tools, Program Transformation

Full text (pdf)

@inproceedings{PascualHascoet08,
  author = {Pascual, V. and Hasco\"et, L.},
  title = {{TAPENADE} for {C}},
  booktitle = {Advances in Automatic Differentiation},
  series = "Lecture Notes in Computational Science and Engineering",
  note = "Selected papers from AD2008 Bonn, August 2008",
  publisher = "Springer",
  pages = "199-210",
  year = 2008
}