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