[petsc-dev] Performance of Petsc Cholesky vs LU

Barry Smith bsmith at mcs.anl.gov
Wed Nov 30 15:10:53 CST 2011


On Nov 30, 2011, at 2:07 PM, Jed Brown wrote:

> On Wed, Nov 30, 2011 at 14:04, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Ok, so how can we resolve this? The problem is that the default ordering is set when the PCCreate_Cholesky() and is set to be natural in order "to be safe" if sbaij matrix is used. We could change it to default to ND and then when PCSetUp_Cholesky() is called simply set the ordering to natural if it is a sbaij matrix. Kind of a hack but what do you suggest that doesn't involve tracking some other variable indicating if the user has set the ordering type to something else ...
> 
> Why the hell set it so soon? This is like choosing which side/norm to use in a Krylov method. Make the decision lazily (when it is requested or needed to do something), otherwise leave it undefined.

   There is currently no MatOrdering object nor MatColoring object one simply calls MatGetOrdering with an MatOrderingType and MatGetColoring with a MatColoringType. 

   These should both be totally refactored to match the paradigm of other PETSc objects; for example KSP  or MatPartitioning. Make a ticket in your cumbersome ticketing web interface :-)


   Barry






More information about the petsc-dev mailing list