[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.
Jed
-------------- 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