[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