← Back to team overview

dolfin team mailing list archive

Re: [noreply@xxxxxxxxxxxxx: [Branch ~dolfin-core/dolfin/wells] Rev 5923: Replace Legendre code with Boost Legendre code.]

 

On Thu, Jun 02, 2011 at 10:46:29AM +0100, Garth N. Wells wrote:
>
>
> On 02/06/11 10:26, Anders Logg wrote:
> > On Thu, Jun 02, 2011 at 10:07:59AM +0100, Garth N. Wells wrote:
> >>
> >>
> >> On 01/06/11 23:46, Anders Logg wrote:
> >>> Have you checked that there is no performance penalty?
> >>
> >> I just have - evaluating a Legendgre polynomial 10k times at the same
> >> point is just noise with both methods (of the order 10^-5 - 10^-4 s).
> >
> > It may be noise for some applications, but not for others. I'm not
> > sure this is a bottle-neck for the ODE code (Benjamin will know) but
> > we need to evaluate Legendre polynomials of degree > 100 many times
> > and then it may not be noise.
> >
>
> For very high degree (e.g. 200) Boost is marginally faster.

Sounds promising then.

> >> The Boost code is slightly slower because it doesn't cache the values
> >> (which is nice not to do), but may be faster if the call is inlined.
> >> It's not possible to inline it at the moment because of clashes between
> >> tr1:tuple and boost::tuple (Boost bug, I suspect). Old and new are the
> >> same when evaluating at different points.
> >
> > Let's wait for Benjamin to comment.
> >
>
> The speed is about the same (with scope to improve the speed for Boost)
> for unique values. The caller should be responsible for caching, if
> desired, since it can lead to memory blow out.
>
> Legendre does not appear in the ode code. It only appears in the
> computation of quadrature schemes.

True, but the quadrature schemes are used in the ode code.

--
Anders


> Garth
>
>
>
> >> Garth
> >>
> >>
> >>> Benjamin has
> >>> worked quite hard on optimizing some of the basic math routines (in
> >>> some cases by many many orders of magnitude).
> >>>
> >>> Benjamin, can you take a look that it still works?
> >>>
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~dolfin
> >> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~dolfin
> >> More help   : https://help.launchpad.net/ListHelp


Follow ups

References