help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] ode version and compilers


From: Rhys Ulerich
Subject: Re: [Help-gsl] ode version and compilers
Date: Tue, 5 Nov 2013 07:46:00 -0600

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]