Re: [petsc-dev] SetPreallocationCSR

2019-08-24 Thread Pierre Jolivet via petsc-dev



> On 24 Aug 2019, at 3:07 PM, Smith, Barry F.  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 
>>  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
> 



Re: [petsc-dev] SetPreallocationCSR

2019-08-24 Thread Smith, Barry F. via petsc-dev



   It is an oversight. It saves a global reduction in the MatAssembly since all 
the processes know they don't need to communicate anything.

   Barry

> On Aug 24, 2019, at 7:55 AM, Pierre Jolivet via petsc-dev 
>  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



[petsc-dev] SetPreallocationCSR

2019-08-24 Thread Pierre Jolivet via petsc-dev
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