[CppAD] from ADOL-C to CppAD
Brad Bell
bradbell at apl.washington.edu
Sat Apr 24 12:59:32 EDT 2010
On Fri, 23 Apr 2010, Nikhil Kriplani wrote:
> Hello Dr. Bell,
>
> I am considering using CppAD for a circuit simulator application
> (fREEDA, www.freeda.org) that currently uses ADOL-C. This is mainly
> because I want to get away from using "tapes" which places an upper
> limit on how large a circuit I can simulate, and permit easy debugging
> of code.
CppAD uses a tape to store the floating point operations (much the way
ADOLC does). That said, CppAD is very careful to be efficient in its use
of memory.
I suggest that you make the type for your floating point operations a
template parameter. That way you can use your code (and debug it) with any
of the C++ operator overloading AD types. See the heading "CppAD Numerical
Template Library" on the page
http://www.coin-or.org/CppAD/Doc/library.xml
for some examples of how to do this.
>
> I had a few questions:
>
> 1. Will CppAD be actively supported in the near future?
Yes. You can see a list of recent activity from the users point of view
at
http://www.coin-or.org/CppAD/Doc/whats_new_10.xml
>
> 2. ADOL-C has a jac_vec() function which is very handy for our
> application. Is there an equivalent helper function in CppAD? If not,
> can you suggest a block of code that can duplicate that functionality?
I think you are interested in the routines listed at
http://www.coin-or.org/CppAD/Doc/drivers.xml
>
> 3. How does the performance of CppAD compare to ADOL-C? Is it fairly
> comparable?
There are speed tests that compare ADOLC with CppAD on your machine.
You can find documentation for them at
http://www.coin-or.org/CppAD/Doc/speed.xml
I do not fully understand why, but sometimes CppAD is much faster. I am
working with the ADOLC development group to try and understand this.
>
> Look forward to hearing from you.
>
> Regards,
> Nik Kriplani
>
More information about the CppAD
mailing list