On Tue, Jan 5, 2016 at 1:50 AM, Derek Gaston <fried...@gmail.com> wrote:
>
>
> I did a bunch of work on this myself a few years ago... all I was
> attempting to speed up was just variable value evaluation... not Re/Ke
> evaluation as a whole. Let me see if I can dig up what I did..(I'll do some
> searching and send another email). I eventually dropped it because, while
> it gave some speedup in some extreme cases (like with thousands of
> variables to evaluate) it was marginal (or even slower) for the more common
> cases (1-10 variables).
>

This is what I wanted him to explore. I have some ideas for the larger
variable case, but I was hoping to get some dividends even in the small
variable case since the stride of the storage is wrong for the loop
ordering in the libMesh examples (and therefore, probably many application
codes).


> Honestly, 10% is not worth it to me.


10% is absolutely worth it to me. 10% off of 1e5 to 1e7 PDE solves is a big
deal.


> Any real application (that isn't example 3) is going to have WAY more
> going on that can't be vectorized anyway.


Of course, but much of the complexity is in evaluating quantities at
quadrature points. So if we can get both the quadrature point calculations
of solution fields and the residual (and hopefully the Jacobian)
evaluations to vectorize (or at least some cache reuse for crying out
loud), this could be a big win.


> If 10% is our best case then I don't think this extra complexity is worth
> it.


This is the first crack, trying the simplest possible case.


> Further, non-vectorizable work is typically perfectly parallel, which
> means I can just use 10% more cores and get the same effect now... which is
> easy to do.
>

Unless you run out of cores or you've already hit your strong scaling limit.


> Hopefully a bit more work will yield larger gains.


Agreed. Stop trying to take the wind out of the sails. :P (But seriously,
thanks for your comments.)

Best,

Paul
------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to