Performance degradation after upgrade to 3.0.0

Billy Araújo billy at
Thu Feb 5 04:04:39 CST 2009

Thanks for the explanation. 

-----Original Message-----
From: Matthew Knepley [mailto:knepley at]
Sent: Wed 2/4/2009 10:46 PM
To: PETSc users list
Cc: petsc-maint Maintenance; Billy Araújo
Subject: Re: Performance degradation after upgrade to 3.0.0
On Tue, Feb 3, 2009 at 4:35 PM, Billy Araujo <billyaraujo at> wrote:
> "Can you send the matrix and rhs as PETSc binary output, and I will find out
> what the difference is. It looks to me like the default ICC ordering
> has changed.

Okay, I have the explanation. The default factorization options
changed in 3.0.0.
No, by default, we use a diagonal shift to remedy zero diagonal elements, like

  -pc_factor_shift_positive_definite TRUE

You do not have a zero per se, but you do have a singular matrix, which you can
check using -ksp_type preonly -pc_type lu, so the last row has a zero diagonal.
Since nothing is ever divided by it, it causes no problems if you do
nothing. However,
shifting generates a much poorer preconditioner. You can recover the original
behavior using

  -pc_factor_shift_positive_definite FALSE

However, I would also advise uncovering the source of the singularity.



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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list