[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] ode version and compilers
From: |
Tuomo Keskitalo |
Subject: |
Re: [Help-gsl] ode version and compilers |
Date: |
Tue, 05 Nov 2013 18:02:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 |
Hi,
Thanks for the code example, I'll try to have a look at it this week.
On 11/05/2013 03:46 PM, Rhys Ulerich wrote:
> Tuomo,
>
> Alan and Gideon have experienced some significant slowdowns in ODE
> integration going from 1.15 to 1.16. Alan's tracked down the problem
> to a single revision...
>
>> For the source code I have attached, I have done some tests on different
>> versions.
>> 1.15:
>> Running time: 0m0.759s
>> Output result: -0.378978 (center of mass of dynamical variables)
>>
>> 1.16
>> Running time: 0m10.670s
>> Output result: -0.378996
>>
>> 1.16 (without revision 4771):
>> Running time: 0m0.754s
>> Output result: -0.378978
>>
>> In revision 4771, the programmer intended to use e->dydt_out to update
>> e->dydt_in, rather than calculating a new e->dydt_in. Based on my
>> understanding on the source code, he thought that memcpy is better than a
>> new calculation. But, in my case, it makes a big performance regression.
>> Also, in my experiment, without 4771, results by 1.15 and 1.16 agree with
>> each other. So, I would like to question which version is not reliable.
>> For the reliability concern, I have sent an email to bug-gsl to question
>> about this.
>>
>> ==============================
>>
>> The source code:
>> http://www.filedropper.com/cannstdsubdelay
>
> Any thoughts?
> http://bzr.savannah.gnu.org/lh/gsl/trunk/revision/4771#ode-initval2/evolve.c
> seems incredibly benign at a glance.
>
> - Rhys
> .
>
--
address@hidden
http://iki.fi/tuomo.keskitalo