On Sun, Jul 28, 2019 at 2:54 AM Pierre Jolivet via petsc-dev < [email protected]> wrote:
> Hello, > I’m facing multiple issues with PCREDUNDANT and MATMPISBAIJ: > 1) > https://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/sbaij/mpi/mpisbaij.c.html#line3354 > shouldn’t > this be sum != N? I’m running an example where it says that sum (4) != > Nbs (60), with a bs=15. > Clearly a bug. > 2) when I’m using MATMPIBAIJ, I can do stuff like: -prefix_mat_type baij > -prefix_pc_type redundant -prefix_redundant_pc_type ilu, and in the > KSPView, I have "package used to perform factorization: petsc”, so the > underlying MatType is indeed MATSEQBAIJ. > However, with MATMPISBAIJ, if I do: -prefix_mat_type sbaij -prefix_pc_type > redundant, first, it looks like you are hardwiring a PCLU (MatGetFactor() > line 4440 in src/mat/interface/matrix.c > Using LU as a default for symmetric matrices does seem wrong. > Could not locate a solver package.), then, if I > append -prefix_redundant_pc_type cholesky, I end up with an error related > to MUMPS: MatGetFactor_sbaij_mumps() line 2625 in > src/mat/impls/aij/mpi/mumps/mumps.c Cannot use PETSc SBAIJ matrices with > block size > 1 with MUMPS Cholesky, use AIJ matrix instead. Why isn’t this > call dispatched to PETSc Cholesky for SeqSBAIJ matrices? > > Generally, we don't like to switch parameters under the covers like this. We would rather you get your inputs right so you know what is going on. > Thanks, > Pierre > > 1) I don’t think this is tested right now, at least not in > src/ksp/ksp/examples/tutorials > 2) reproducer: src/ksp/ksp/examples/tutorials/ex2.c > $ mpirun -np 2 ./ex2 -pc_type redundant -mat_type sbaij > // error because trying to do LU with a symmetric matrix > $ mpirun -np 2 ./ex2 -pc_type redundant -mat_type sbaij -redundant_pc_type > cholesky -ksp_view > // you’ll see: that MUMPS is being used, but since bs=1, it’s working, but > it won’t for the general case > // the MatType is mpisbaij with "1 MPI processes" whereas > with baij, it’s seqbaij > >
