<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 17, 2016 at 6:28 AM, Ivano Barletta <span dir="ltr"><<a href="mailto:ibarletta@inogs.it" target="_blank">ibarletta@inogs.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>Dear Petsc users<br><br></div>My aim is to replace the linear solver of an ocean model with Petsc, to see if is<br></div>there place for improvement of performances.<br><br></div>The linear system solves an elliptic equation, and the former solver is a <br></div>Preconditioned Conjugate Gradient, with a simple diagonal preconditioning.<br></div><div>The size of the matrix is roughly 27000<br></div><div><br></div>Prior to nest Petsc into the model, I've built a simple test case, where <br></div>the same system is solved by the two of the methods<br><br></div>I've noticed that, compared to the former solver (pcg), Petsc performance<br></div><div>results are quite disappointing<br></div></div></blockquote><div><br></div><div>For any solver performance questions, we need to see the output of</div><div><br></div><div>  -ksp_monitor -ksp_view -ksp_converged_reason -log_view</div><div><br></div><div>If you are comparing to another solver, we also need to know exactly what is being</div><div>done there, including how the convergence tolerance is implemented.</div><div><br></div><div>This problem is extremely small. I would be really surprised if you can beat a direct</div><div>solver like SuperLU (--download-superlu) and parallelism should be largely ineffective.</div><div>However, that depends on how accurately you are solving the system.</div><div><br></div><div>  Thanks,</div><div><br></div><div>      Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>Pcg does not scale that much, but its solution time remains below <br></div><div>4-5e-2 seconds. <br></div><div>Petsc solution time, instead, the more cpu I use the more increases<br></div><div>(see output of -log_view in attachment ). <br></div><div><br></div><div>I've only tried to change the ksp solver ( gmres, cg, and bcgs with no<br></div><div>improvement) and preconditioning is the default of Petsc. Maybe these<br></div><div>options don't suit my problem very well, but I don't think this alone<br></div><div>justifies this strange behavior<br></div><div><br></div><div>I've tried to provide d_nnz and o_nnz for the exact number of nonzeros in the <br></div><div>Preallocation phase, but no gain even in this case.<br></div><div><br>At this point, my question is, what am I doing wrong?<br><br></div><div>Do you think that the problem is too small for the Petsc to <br></div><div>have any effect?<br><br></div><div>Thanks in advance<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>Ivano<br></div><div><br></div></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>