On Thu, 24 Jun 2010 14:28:03 -0500, David Fuentes <[email protected]> wrote:
> On 6/24/10, Jed Brown <[email protected]> wrote:
> > On Thu, 24 Jun 2010 13:59:21 -0500 (CDT), David Fuentes
> > <[email protected]> wrote:
> >>
> >> I typically use Petsc Nonlinear Solvers in 3D and my bottle neck is
> >> typically in the assembly with Petsc SNESSolve taking ~10% of the time
> >> about ~50% in the jacobian, ~30% in the residual, and the
> >> rest is distributed.
> >
> > So the linear solves are really easy.  Are you caching a lot of stuff in
> > the residual evaluation, it's not normal for it to be so much compared
> > to Jacobian assembly unless you don't use an analytic Jacobian
> > (e.g. -snes_mf_operator).
> 
> Not sure, what do you typically cache ?

I cache a local linearization at quadrature points, but that is for fast
matrix-free Jacobian application of high-order operators.  It doesn't
pay off in terms of time or storage for Q1 or P1, even in 3D.  But if
you had e.g. an expensive constitutive relation involving lookup tables,
and you weren't overly concerned about using the minimum possible
memory, but didn't want to do the extra work to integrate and insert the
element matrices (because there was a high chance of the line search
shortening the step), then you might cache the local linearization even
for lowest-order elements.  It sounds like this is not the case.

What does -log_summary show?  Are you doing a lot more function
evaluations than Jacobian assemblies?  It's surprising to me that they
would cost almost the same amount per call, perhaps there is a hot spot
somewhere in your residual evaluation.

Jed

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to