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.

   Barry

> On Apr 19, 2019, at 3:07 PM, Stefano Zampini via petsc-dev 
> <[email protected]> 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

Reply via email to