MPIBAIJ and sor

Jed Brown jed at
Tue Oct 27 15:39:42 CDT 2009

Stephan Kramer wrote:
> I'm slightly confused by the fact that if I use my BAIJ matrix in
> parallel and select the sor preconditioner. it complains about
> mat->ops->relax and mat->ops->pbrelax not being defined.

There is no parallel SOR, it would make the algorithm nearly serial.
Use -sub_pc_type sor with -ksp_type asm or bjacobi.

> Also I can't find a MatRelax_MPIBAIJ in
> src/mat/impls/baij/mpi/mpibaij.c as I would have expected. Is there no
> sor type relaxation for parallel block matrices at all?

Since the small dense blocks are available at once, it would be silly to
relax each component separately (your CPU spends most of its time
waiting on memory).  Instead, BAIJ relaxes all components simultaneously
by solving with these small blocks.  This is "point-block" relaxation,
look for MatPBRelax_SeqBAIJ_N for N in 1..7.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the petsc-users mailing list