We present a new tool, ADIC2, for automatic di erentiation (AD) of C and C++ code through source-to-source transformation. ADIC2 is the successor of the ADIC di erentiation 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 robust, flexible, and extensible tool for di erentiating 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.
['S. Narayanan', 'Boyana Norris', 'Beata Winnicka']
ADIC2: Development of a component source transformation system for differentiating C and C++