> On Apr 20, 2019, at 1:30 PM, Stefano Zampini <stefano.zamp...@gmail.com> > wrote: > > Using preallocator will require looping twice for the computation of the > entries, No, that is totally impractical. The old code that Jed removed just preallocated the AIJ as dense and this was fine for this purpose 1) MatConvert_Shell() should call all the preallocating possibilities (treating as dense) 2) MatComputeExplicitOperator() could get a new second argument that is a matrix type (then we don't need to argue if it should use DENSE or AIJ). Barry > and this may be very expensive. > In my case, every MatMult requires one forward and one backward TS solve. > > We can either use AIJ or DENSE format, but I think this should be the same > for the sequential or parallel runs, not as it is now. > > Il giorno sab 20 apr 2019 alle ore 14:20 Matthew Knepley <knep...@gmail.com> > ha scritto: > On Fri, Apr 19, 2019 at 5:58 PM Smith, Barry F. via petsc-dev > <petsc-dev@mcs.anl.gov> wrote: > > > 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. > > We should restore preallocation. It should be easy to do with Preallocator. > > Matt > > Barry > > > On Apr 19, 2019, at 3:07 PM, Stefano Zampini via petsc-dev > > <petsc-dev@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 > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > > > -- > Stefano
Re: [petsc-dev] MatComputeExplicitOperator
Smith, Barry F. via petsc-dev Sat, 20 Apr 2019 12:30:58 -0700
- Re: [petsc-dev] MatComputeExplicitOperator Smith, Barry F. via petsc-dev
- Re: [petsc-dev] MatComputeExplicitOpera... Smith, Barry F. via petsc-dev