Hong, You should probably cherry pick https://gitlab.com/petsc/petsc/commit/93d7d1d6d29b0d66b5629a261178b832a925de80?merge_request_iid=2069 <https://gitlab.com/petsc/petsc/commit/93d7d1d6d29b0d66b5629a261178b832a925de80?merge_request_iid=2069> (and remove the MatNest part). This fixes a similar issue in MatTransposeMatMult with nontrivial LDAs. Since this commit is part of a feature MR that is unlikely to be ready for tomorrow, this fix (as of now) is also unlikely to be in master for the release.
Thanks, Pierre > On 23 Sep 2019, at 6:02 PM, Zhang, Hong <hzh...@mcs.anl.gov> wrote: > > Barry: > As a hack for this release could you have the Numeric portion of the > multiply routines check if the symbolic data is there and if not just call > the symbolic an attach the needed data? You might need to have a utility > function that does all the symbolic part except the allocation of the matrix > and then call this from the numeric part as well as the real symbolic part. > > I'm working on this now. I was not aware of MatSeqDenseSetLDA() which > changes pattern of data access in seqdense matrix. > Pierre's patch: > "change Bm here > https://www.mcs.anl.gov/petsc/petsc-dev/src/mat/impls/aij/mpi/mpimatmatmult.c.html#line549 > > <https://www.mcs.anl.gov/petsc/petsc-dev/src/mat/impls/aij/mpi/mpimatmatmult.c.html#line549> > to the LDA of B" > fix this bug. I'll further test it and submit a pull request. > Then, I'll check slepc's bug report. > Hong