AD Tools for C/C++
Introduction
Applications
Tools
Research Groups
Workshops
Publications
My Account
About

Show tools for a specific language:

24 tools found

Alphabetical List of tools

  • AD Model Builder  ( C/C++ )
    AD Model Builder (ADMB) was specifically designed for complex highly-parameterized nonlinear models. ADMB uses automatic differentiation to provide the function optimizer with exact derivatives.

  • ADC  ( C/C++ )
    The vivlabs ADC Automatic Differentiation Software for C/C++ delivers rapid integration of automatic differentiation capability to your new and existing applications on all operating system platforms. ADC automatically exploits the sparsity within your equation matrices, which leads to winning performance for both small, large and extremely large applications.

  • ADEL  ( C/C++ )
    ADEL is an open-source C++ template library for Automatic Differentiation in forward mode. Works with CUDA out of the box.

  • Adept  ( C/C++ )
    Adept is an operator-overloading implementation of first-order forward- and reverse-mode automatic differentiation. It is very fast thanks to its use of expression templates and a very efficient tape structure: in reverse mode it is typically only 2.5-4 times slower than the original undifferentiated algorithm. It is released under the GNU General Public License.

  • Adept  ( C/C++ )
    Adept is an operator-overloading implementation of first-order forward- and reverse-mode automatic differentiation. It is very fast thanks to its use of expression templates and a very efficient tape structure: in reverse mode it is typically only 2.5-4 times slower than the original undifferentiated algorithm. It is released under the GNU General Public License.

  • ADIC  ( C/C++ )
    ADIC is a tool for the automatic differentiation (AD) of programs written in ANSI C. First derivatives are computed using forward mode with statement level preaccumulation. Second derivatives are computed using one of several forward mode strategies.

  • ADNumber  ( C/C++ )
    Automatic differentiation of arbitrary order to machine precision. Uses templates and expression trees.

  • ADOL-C  ( C/C++ )
    The package ADOL-C facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. ADOL-C is distributed by the COIN-OR Foundation with the Common Public License CPL or the GNU General Public License GPL.

  • AUTODIF  ( C/C++ )
    A C++ library for automatic differentiation used as the building block for AD Model Builder

  • AutoDiff_Library  ( C/C++ )
    The standalone AD library for building computational graph and perform reverse gradient and forward Hessian algorithm on the graph. It is currently used on the parallel implementation of Structured Modelling Language (http://www.maths.ed.ac.uk/ERGO/sml/).

  • ColPack  ( C/C++ )
    ColPack is a package consisting of implementations of various graph coloring and related algorithms for compression-based computation of sparse Jacobian and Hessian matrices using an Automatic Differentiation tool. ColPack is currently interfaced with ADOL-C. The coloring capabilities can be used for purposes other than derivative matrix computation.

  • COSY INFINITY  ( Fortran77,Fortran95,C/C++ )
    COSY is an open platform to support automatic differentiation, in particular to high order and in many variables. It also supports validated computation of Taylor models. The tools can be used as objects in F95 and C++ and through direct calls in F77 and C, as well as in the COSY scripting language which supports dynamic typing.

  • CppAD  ( C/C++ )
    CppAD uses operator overloading to compute derivatives of algorithms defined in C++. It is distributed by the COIN-OR Foundation with the Common Public License CPL or the GNU General Public License GPL. Installation procedures are provided for both Unix and Windows operating systems. The CppAD subversion repository can be used to view the source code. Extensive user and developer documentation is included.

  • CppADCodeGen  ( C/C++ )
    CppADCodeGen aims to extend the CppAD library in order to perform hybrid automatic differentiation, that is, to use operator overloading and generate/compile source code. Provides easy to use drivers for the generation and use of dynamic libraries under Linux. It also allows JIT compilation through Clang/LLVM. It is distributed under the Eclipse Public License 1.0 or the GNU General Public License 3 GPL.

  • CTaylor  ( C/C++ )
    High performance library to calculate with truncated taylor series. Can use multiple independent variables. Stores only potentially nonzero derivatives. Order of derivatives increases when using nonlinear operations until maximum (parameter) is reached. Based on googles libtaylor and heavily using boost::mpl.

  • FAD  ( C/C++ )
    An implementation of automatic differentiation for programs written in C++ using operator overloading and expression templates.

  • FADBAD/TADIFF  ( C/C++ )
    FADBAD is a C++ library implementing the forward and reverse mode of automatic differentiation by operator overloading for C++ programs. TADIFF is a C++ program package for performing Taylor expansions on functions implemented as C++ programs.

  • FFADLib  ( C/C++ )
    FFADLib implements overloaded C++ arithmetic operators and elementary function that employ fast automatic differentiation algorithms. Such algorithms use precomputed addresses of the derivatives in the data structure.

  • OpenAD  ( C/C++,Fortran77,Fortran95 )
    OpenAD is a source transformation tool that provides a language independent framework for the development and use of AD algorithms. It interfaces with language specific front-ends via an XML representation of the numerical core. Currently, Open64 is the front-end for FORTRAN and EDG/Sage3 the front-end for C/C++.

  • Rapsodia  ( C/C++,Fortran95 )
    Rapsodia is Python based code generator the creates C++ or Fortran libraries to efficiently compute higher order derivatives via operator overloading.

  • Sacado  ( C/C++ )
    The Sacado package provides automatic differentiation tools for C++ applications and is part of the larger Trilinos framework. It provides both forward and reverse modes, and leverages expression templates in the forward mode and a simplified tape data structure in the reverse mode for improved efficiency.

  • TAPENADE  ( C/C++,Fortran77,Fortran95 )
    TAPENADE is a source-to-source AD tool. Given a FORTRAN77, FORTRAN95, or C source program, it generates its derivative in forward (tangent) or reverse (adjoint) mode. TAPENADE is the successor of ODYSSEE. TAPENADE is directly accessible through a web servlet, or can be downloaded locally.

  • Treeverse / Revolve  ( C/C++,Fortran77,Fortran95 )
    Revolve implements an efficient checkpointing algorithm for the exact computation of a gradient of a functional consisting of a (pseudo) time-stepping procedure.

  • YAO  ( C/C++ )
    YAO is dedicated to the programming of numerical models and data assimilation. It is based on a modulus graph methodology. Each modulus represents a function. YAO facilitates and generates the coding of the linear tangent and the adjoint of the model.

  

Contact:
Username:
Password:
(lost password)