Re: [petsc-dev] loop structure in PetscFEIntegrateJacobian_Basic
On Tue, Jan 28, 2014 at 3:45 PM, Matthew Knepley <[email protected]> wrote:
On Tue, Jan 28, 2014 at 3:31 PM, Geoffrey Irving <[email protected]> wrote:
PetscFEIntegrateJacobian_Basic has four layers of loops:
e - element f - component of field being differentiated g - component of field we're differentiating against q - quadrature point
It looks like g3_func and friends are being called once for each combination of (e,f,g,q), even though the calls to g3_func are independent of (f,g). If g3_func is expensive, this duplication seems a bit slow.
It seems like the loops should be flipped to be (e,q,f,g) major order, with the user functions hoisted up to the (e,q) level. Is there a reason not to do this?
Yes, it is stupid. I will fix it.
I did not forget. Pushed today and verified with the SNES ex62 tests. Matt
Matt
Geoffrey
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
participants (1)
-
Matthew Knepley