Digging through old emails... On Sun, 17 May 2009, Kirk, Benjamin (JSC-EG311) wrote:
> On 5/17/09 8:45 AM, "Roy Stogner" <[email protected]> wrote: > >> Anyway, right now optimizing FE calculations is not something libMesh >> does well, even to the extent it can be done with arbitrary elements. >> I'd bet that just vectorizing the fe_shape* function call API would >> give us a non-trivial performance boost. > > With a small amount of effort (seriously) I think we could cache all the > reference element values such that the underlying shape functions are > evaluated only once per (geometric element/finite element/quadrature order) > pairing. That isn't possible for the C1 finite elements, and I'm not sure how useful it would be for the C0 elements; you'd still have to recompute all the shape derivatives. In any case, I'm not sure how much time is spent doing the actual calculations vs. how much time is spent in overhead. We're not too inefficient in FLOPS but we might be wasting time in function call setup/teardown or something. > if evaluating shape functions is a bottleneck in your app let me > know - it hasn't been a big priority at least for me. Well, I didn't add the "has_affine_map" stuff for my health - before putting that in, a big chunk of my Cahn-Hilliard apps' time was spent in FE::reinit(). --- Roy ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
