[petsc-users] error when solving a linear system with gmres + pilut/euclid

Barry Smith bsmith at petsc.dev
Mon Aug 24 17:26:03 CDT 2020


   Alfredo,

      This should never happen. The input to the VecMAXPY in gmres is computed via VMDot which produces the same result on all processes.

       If you run with -pc_type bjacobi does it also happen?

       Is this your custom code or does it happen in PETSc examples also? Like src/snes/tutorials/ex19 -da_refine 5 

      Could be memory corruption, can you run under valgrind?

    Barry


> On Aug 24, 2020, at 4:05 PM, Alfredo Jaramillo <ajaramillopalma at gmail.com> wrote:
> 
> Dear PETSc developers,
> 
> I'm trying to solve a linear problem with GMRES preconditioned with pilut from HYPRE. For this I'm using the options:
> 
> -ksp_type gmres -pc_type hypre -pc_hypre_type pilut -ksp_monitor
> 
> If I use a single core, GMRES (+ pilut or euclid) converges. However, when using multiple cores the next error appears after some number of iterations:
> 
> [0]PETSC ERROR: Scalar value must be same on all processes, argument # 3
> 
> relative to the function VecMAXPY. I attached a screenshot with more detailed output. The same happens when using euclid. Can you please give me some insight on this?
> 
> best regards
> Alfredo
> <Screenshot from 2020-08-24 17-57-52.png>



More information about the petsc-users mailing list