[petsc-dev] SetPreallocationCSR

Pierre Jolivet pierre.jolivet at enseeiht.fr
Sat Aug 24 08:13:50 CDT 2019



> On 24 Aug 2019, at 3:07 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
> 
> 
> 
>   It is an oversight. It saves a global reduction in the MatAssembly since all the processes know they don't need to communicate anything.

OK, that’s what I was hoping for.
I tried to force the flag and it doesn’t seem to break down my PC, so I’ll push this in a branch (and create the according MR when we receive your green light).

Thanks,
Pierre

>   Barry
> 
>> On Aug 24, 2019, at 7:55 AM, Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
>> 
>> Hello,
>> Out of the three SetPreallocationCSR implementations (for MPIAIJ, MPIBAIJ, and MPISBAIJ), only MPIAIJ is forcing MAT_NO_OFF_PROC_ENTRIES to PETSC_TRUE before the final AssemblyBegin/AssemblyEnd:
>> - AIJ https://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/aij/mpi/mpiaij.c.html#line3957
>> - BAIJ https://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/baij/mpi/mpibaij.c.html#line2782 and SBAIJ https://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/sbaij/mpi/mpisbaij.c.html#line2262
>> 
>> Is this option not relevant for those two types or is this an oversight?
>> 
>> Thanks,
>> Pierre
> 



More information about the petsc-dev mailing list