[petsc-users] MatPermute for MPIBAIJ matrix Error

Jed Brown jed at jedbrown.org
Fri Jun 17 22:44:14 CDT 2016

Barry Smith <bsmith at mcs.anl.gov> writes:

>   Uggh, this is a horrible mess. In short we don't support permutations in parallel. Even for MPIAIJ matrices it is bogus in that it just independently provides a reordering for the matrix on each process.  This kind of parallel graph processing is something that is really weak in PETSc.

Note that one can use MatGetSubMatrix to do a "permutation" in which the
requested rows/columns are sorted on each process, then (if you want)
locally permute the submatrix.  It's cumbersome, but should work.

>   Why do you want to permute a parallel matrix? We always recommend that one partition the mesh data structure for good performance before ever calling the PETSc routines. In this way the linear algebra is already well partitioned and doesn't need permutations.

Yes, partitioning the mesh is much better than redistributing an assembled matrix.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160617/7ce6c3ba/attachment-0001.pgp>

More information about the petsc-users mailing list