[petsc-users] MatAssemblyEnd taking too long
Jed Brown
jed at jedbrown.org
Thu Aug 20 12:54:38 CDT 2020
Matthew Knepley <knepley at gmail.com> writes:
> On Thu, Aug 20, 2020 at 11:09 AM Manav Bhatia <bhatiamanav at gmail.com> wrote:
>
>>
>>
>> On Aug 20, 2020, at 8:31 AM, Stefano Zampini <stefano.zampini at gmail.com>
>> wrote:
>>
>> Can you add a MPI_Barrier before
>>
>> ierr = MatAssemblyBegin(aij->A,mode);CHKERRQ(ierr);
>>
>>
>> With a MPI_Barrier before this function call:
>> — three of the processes have already hit this barrier,
>> — the other 5 are inside MatStashScatterGetMesg_Private ->
>> MatStashScatterGetMesg_BTS -> MPI_Waitsome(2 processes)/MPI_Waitall(3
>> processes)
This is not itself evidence of inconsistent state. You can use
-build_twosided allreduce
to avoid the nonblocking sparse algorithm.
>
> Okay, you should run this with -matstash_legacy just to make sure it is not
> a bug in your MPI implementation. But it looks like
> there is inconsistency in the parallel state. This can happen because we
> have a bug, or it could be that you called a collective
> operation on a subset of the processes. Is there any way you could cut down
> the example (say put all 1s in the matrix, etc) so
> that you could give it to us to run?
More information about the petsc-users
mailing list