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 imperial.ac.uk> Applied Modelling and Computation Group, Department of Earth Science and Engineering, Imperial College London
