MPIBAIJ and sor

Stephan Kramer s.kramer at
Tue Oct 27 16:09:16 CDT 2009

Jed Brown wrote:
> 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.

Ah I see. Yes, what I was looking for, was the equivalent of what happens
with MPIAIJ if you select PCSOR and set SOR_LOCAL_SYMMETRIC_SWEEP (but then
with point block relaxation)

Thanks, that makes sense...

>> 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.

Yes, sorry I meant MatPBRelax_MPIBAIJ indeed

> Jed

Stephan Kramer  <s.kramer at>
Applied Modelling and Computation Group,
Department of Earth Science and Engineering,
Imperial College London

More information about the petsc-users mailing list