ADIC2: Development of a component source transformation system for differentiating C and C++. 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 robust, 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.
Keywords for this software
References in zbMATH (referenced in 7 articles )
Showing results 1 to 7 of 7.
- Hück, Alexander; Bischof, Christian; Sagebaum, Max; Gauger, Nicolas R.; Jurgelucks, Benjamin; Larour, Eric; Perez, Gilberto: A usability case study of algorithmic differentiation tools on the ISSM ice sheet model (2018)
- Kulshreshtha, K.; Narayanan, S. H. K.; Bessac, J.; MacIntyre, K.: Efficient computation of derivatives for solving optimization problems in R and Python using SWIG-generated interfaces to ADOL-C (2018)
- Pascual, Valérie; Hascoët, Laurent: Mixed-language automatic differentiation (2018)
- Srajer, Filip; Kukelova, Zuzana; Fitzgibbon, Andrew: A benchmark of selected algorithmic differentiation tools on some problems in computer vision and machine learning (2018)
- Callejo, A.; García de Jalón, J.: A hybrid direct-automatic differentiation method for the computation of independent sensitivities in multibody systems (2014)
- Gebremedhin, Assefaw H.; Nguyen, Duc; Patwary, Md. Mostofa Ali; Pothen, Alex: ColPack, software for graph coloring and related problems in scientific computing (2013)
- Narayanan, Sri Hari Krishna; Norris, Boyana; Hovland, Paul; Gebremedhin, Assefaw: Implementation of partial separability in a source-to-source transformation AD tool (2012)