[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] ode version and compilers
From: |
Alan Fung |
Subject: |
Re: [Help-gsl] ode version and compilers |
Date: |
Tue, 5 Nov 2013 13:38:21 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Alan Fung <alanfung <at> ust.hk> writes:
>
>
> I experience the same performance drop in my numerical simulations. With
> GSL-1.15, the simulation takes 7.7s. With GSL-1.16, it takes 2m12s. My
> simulation is to integrate a group of ODEs. GCC = 4.8.1. OS = Kubuntu 13.10.
>
> some more figures on other computers:
> using the same simulation source code:
> GSL-1.15 <at> Pentium 4 with GCC3.2: ~30s
> GSL-1.16 <at> E7-4850 with GCC4.4: 5m
>
> I am quite sure that the problem is not due to different versions of GCC. I
> believe that it should be due to differences between 1.15 and 1.16.
>
>
I have attached a version of my source code (sorry, this is not well-written
:)).
Actually, I have just found out why there is a regression.
I found that, if i undo the revision 4771
(http://bzr.savannah.gnu.org/lh/gsl/trunk/revision/4771), the performance of
1.16 will be at par with 1.15.
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
- Re: [Help-gsl] ode version and compilers, Alan Fung, 2013/11/05
- Re: [Help-gsl] ode version and compilers,
Alan Fung <=
- Re: [Help-gsl] ode version and compilers, Rhys Ulerich, 2013/11/05
- Re: [Help-gsl] ode version and compilers, Tuomo Keskitalo, 2013/11/05
- Re: [Help-gsl] ode version and compilers, Alan Fung, 2013/11/05
- Re: [Help-gsl] ode version and compilers, Rhys Ulerich, 2013/11/06
- Re: [Help-gsl] ode version and compilers, Alan Fung, 2013/11/06
- Re: [Help-gsl] ode version and compilers, Tuomo Keskitalo, 2013/11/06