[petsc-dev] MatComputeExplicitOperator

Smith, Barry F. bsmith at mcs.anl.gov
Fri Apr 19 16:58:50 CDT 2019

   I think MPIAIJ was selected because it provided the most parallel functionality compared to MPIDENSE for which more operations were not written.
   This may not be relevant any more. 

    Definitely the code needs to be fixed. Fixing MatConvert_Shell(); it should just assume 
the matrices are dense and preallocate for them.


> On Apr 19, 2019, at 3:07 PM, Stefano Zampini via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
> What is the rationale behind MatComputeExplicitOperator returning SEQDENSE in sequential and MPIAIJ in parallel?
> Also, before commit https://bitbucket.org/petsc/petsc/commits/b3d09e869df0e6ebcb615ca876706bfed4fcf1cd  full preallocation of the MPIAIJ matrix was happening. Now, if we have a very dense operator that we want to sample just for testing purposes (inspecting entries, etc..) we have to pay the price of reallocating over and over.
> What is the proper fix? 1) Use MPIDENSE? 2) Restore full preallocation for MPIAIJ? 3) Have MatComputeExplicitOperator to accept more arguments ? 
> I'm in favor of 1
> -- 
> Stefano

More information about the petsc-dev mailing list