[petsc-dev] Performance of Petsc Cholesky vs LU
Dave Nystrom
Dave.Nystrom at tachyonlogic.com
Fri Dec 2 17:20:41 CST 2011
Hi Jed,
I tried your suggestion below and it made a huge improvement. Instead of
taking about 6x as long per linear solve as using LU, it now takes between
35% to 80% longer than LU depending on which of the different linear solves
I'm measuring. So that is a big improvement. Is there a reason why cholesky
is not roughly the same as LU or perhaps a bit faster?
On a different note, all of my linear systems are sparse banded systems as a
result of the problem being discretized on a 2d structured grid. When I
input the matrix elements to petsc, does petsc do any sort of analysis to
figure out that my system is a sparse banded system? Does petsc do the LU or
Cholesky solve using other packages such as lapack or mkl/acml to do the band
solve? If not, would it be more reasonable for me to also interface my code
to lapack and/or mkl/acml for the occasions where a direct band solve makes
sense?
Thanks,
Dave Nystrom writes:
> Jed Brown writes:
> > On Tue, Nov 29, 2011 at 23:53, Dave Nystrom <dnystrom1 at comcast.net> wrote:
> >
> > > I have a resistive mhd code that I have recently interfaced to petsc which
> > > has 7 linear solves that are all symmetric. I recently tried using -pc_type
> > > cholesky -ksp_type preonly for a run and found that it was taking about 6
> > > times as long per linear solve as when I was using -pc_type lu -ksp_type
> > > preonly.
> >
> > Try -pc_factor_mat_ordering_type nd
> >
> > > I was wondering if that was reasonable behavior. I would not have
> > > thought that using a cholesky direct solve would take longer than an LU
> > > direct solve in petsc for the serial case and was hoping it would be
> > > faster. Does this behavior seem reasonable?
> >
> > Try this:
> >
> > -pc_type cholesky -pc_factor_mat_ordering_type nd
>
> Thanks. I'll give this a try and report back on the results.
>
> > Barry, why is natural ordering still the default for Cholesky? It is so
> > slow that it is worthless.
More information about the petsc-dev
mailing list