ADIC2: Development of a Component Source Transformation System for Differentiating C and C++
|Title||ADIC2: Development of a Component Source Transformation System for Differentiating C and C++|
|Publication Type||Journal Article|
|Year of Publication||2010|
We present a new tool, ADIC2, for automatic differentiation (AD) of C and C++ code through source-to-source transformation. ADIC2 is the successor of the ADIC differentiation tool, which supports forward mode AD of C and a small subset of C++. ADIC2 was completely redesigned and reimplemented as part of the OpenAD software framework, resulting in a ro- bust, flexible, and extensible tool for differentiating C and some features of C++, with plans for full support of C++ in the near future. We discuss some of the challenges in creating AD tools for C and C++ in general and describe the component approach employed in the design and implementation of ADIC2.