[petsc-dev] Shifting in ICC, changes?

Jed Brown jed at 59A2.org
Fri Dec 3 15:28:55 CST 2010

On Fri, Dec 3, 2010 at 22:15, Hong Zhang <hzhang at mcs.anl.gov> wrote:

> Yes, old ICC was buggy. Unlike Cholesky which reveals error immediately,
> incorrect ICC may still gives convergence. I roughly recall that
> comparing convergence of
> icc for aij and sbaij, I fixed bug in one of the routines (likely for
> sbaij).
> What block size of sbaij do you use?

This was for bs=2.  Note that I plain AIJ was requiring a shift and SBAIJ(2)
had negative pivots (but didn't do anything about them).  So they would have
had to both be buggy.

> While changing data structures in matrix factorization routine, I
> cleaned or rewrote
> part of factorization routines, mainly for bs=1. bs>1 might need more work,
> no
> guarantee there :-(

The new one is working, I have identical results with AIJ and SBAIJ(2).
 Neither of them need a shift.  This is good, except that I no longer have a
nice explanation for why ICC performs so poorly on this problem when used
with 1-level ASM (no coarse level). The difference between direct subdomain
solves and incomplete solves, even with small subdomains, is an order of
magnitude for ASM, but negligible when there is a coarse level.  I know this
is not overly weird, but having ICC produce pivots that needed shifting
(despite the matrix being SPD) was a tidy explanation that apparently I have
to discard in favor of "incomplete factorization is unpredictable". :-(

Thanks for running through the history with me.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101203/2e6139c7/attachment.html>

More information about the petsc-dev mailing list