[petsc-dev] Bug in MatShift_MPIAIJ ?
Eric Chamberland
Eric.Chamberland at giref.ulaval.ca
Thu Oct 8 14:50:35 CDT 2015
On 08/10/15 03:30 PM, Satish Balay wrote:
> The commented code is sequential code - and shouldn't make a
> difference.
...but it does!
>
> Perhaps your application has other issues.
>
> Can you verify if your code is valgrind clean?
> http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind
Yes it is valgrind clean. We run every night the same regression tests
with valgrind and check morning results since jun 27 2012. Valgrind run
over ~2000 tests (in our suite) and takes almost 13 hours to complete.
It is costly, but believe me, we have very useful results with the
reports since we do this check.
The point is that I do have "0 == aij->nz" because the matrix has 0
lines on one processor. So why should it pass into Mat*SetPreallocation?
I understand it will speed-up things to preallocated the diagonal if you
have not preallocated it, but the criterion of (0 == aij->nz) is not
right in the case you have no lines on one processor!
In other words, after the call to Mat*SetPreallocation, in that case, it
must still have (0 == aij->nz) because there are no lines on the
processor...
Thanks!
Eric
More information about the petsc-dev
mailing list