<div dir="ltr"><div>Thanks for the input. To clarify, I'm trying to compare GPU algorithms to Petsc, and they only have cg/jacobi for what I'm comparing at the moment. This is why I'm not using gmres (which also works well). <br>
<br>I can solve the problem with the GPU (custom code) using CG + jacobi for all the meshes. On the CPU side, I can solve everything with cg/bjacobi and almost all of my meshes with cg/jacobi except for my 50k node mesh. I can solve the problem with my finite element built-in direct solver (just takes awhile) on one processor. I've been reading that by default the bjacobi pc uses one block per processor. So I had assumed that for one processor block-jacobi and jacobi would give similar results. cg+bjacobi works fine. cg+jacobi does not.<br>
<br></div>I'll just look into the preconditioner code and use KSPview to try to figure out what the differences are for one processor. I'm not sure why the GPU can consistently solve the problem with cg/jacobi. I'm assuming this is due to the way round-off or the order of operations differences between the two.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 19, 2014 at 6:35 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> writes:<br>
> No, Block-Jacobi and Jacobi are completely different. If you are not<br>
> positive definite, you should be using MINRES.<br>
<br>
</div>MINRES requires an SPD preconditioner.<br>
</blockquote></div><br></div>