[CppAD] Sparse Hessian or Speed Test problem
Brad Bell
bradbell at seanet.com
Sat Jan 31 06:20:41 EST 2015
There was a bug in the sparse_hessian speed test that created these
unexpected results. See the heading 01-30 on page
http://www.coin-or.org/CppAD/Doc/whats_new_15.htm
On 1/25/2015 7:16 PM, Brad Bell wrote:
> I should have included this information in my previous message on this
> topic:
>
> The git master and svn trunk will advance with time. The git hash
> code for this version of the repository is
> fca12b519abd2def8de71a6ee1f6c02753d381f0
> and the subversion revision is
> 3616
>
> I created a branch called sparse_hessian
> https://github.com/coin-or/CppAD/tree/sparse_hessian
> to work on this problem.
>
> On 1/25/2015 11:51 AM, Brad Bell wrote:
>> It seems that (for large problems) the first time a Sparse Hessian
>> (of a specific size) is computed, it takes much longer than on
>> subsequent times. Even if the entire calculation is repeated.
>>
>> If you get the current git master
>> git clone git at github.com:coin-or/CppAD.git cppad.git
>> cd cppad.git
>> or the current svn trunk
>> svn checkout https://projects.coin-or.org/svn/CppAD/trunk cppad.svn
>> cd cppad.svn
>> and then execute
>> cd bug
>> ./sparse_hessian.sh
>> you will get output ending with
>> cppad/time_test.hpp: # define CPPAD_EXTRA_RUN_BEFORE_TIMING 0
>> cppad_sparse_hessian_ok = true
>> cppad_sparse_hessian_size = [ 100, 400, 900, 1600, 2500 ]
>> cppad_sparse_hessian_rate = [ 58330, 18853, 8158, 4750, 0.93 ]
>> cppad_sparse_hessian_sweep = [ 19, 23, 24, 25, 26 ]
>> cppad/time_test.hpp: # define CPPAD_EXTRA_RUN_BEFORE_TIMING 1
>> cppad_sparse_hessian_ok = true
>> cppad_sparse_hessian_size = [ 100, 400, 900, 1600, 2500 ]
>> cppad_sparse_hessian_rate = [ 55095, 18208, 8258, 4852, 3148 ]
>> cppad_sparse_hessian_sweep = [ 19, 23, 23, 25, 27 ]
>> The huge difference (0.93 versus 3148 above) occurs both with the GNU
>> and Clang compilers, under Fedora and Ubuntu, and on multiple machines.
>>
>> The only thing that changes between the two cases is the value of
>> CPPAD_EXTRA_RUN_BEFORE_TIMING
>> in the file
>> cppad/time_test.hpp
>>
>> I would appreciate any suggestions as to what the problem might be.
>> _______________________________________________
>> CppAD mailing list
>> CppAD at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cppad
>>
>
> _______________________________________________
> CppAD mailing list
> CppAD at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cppad
>
More information about the CppAD
mailing list