<div dir="ltr">Thanks Barry. Yes, KSP solver computing an "update" to the solution makes sense. I also get that it's impossible to know whether this update is "enough of" a descent direction.<div><br></div><div>What I am wondering, however, is why TAO no longer has -tao_fatol or -tao_frtol options. 9 months ago, TAO had those options and that's what I used for my problems. Back then, when I used BLMVM, it took ~900 tao iterations and ~5000 seconds of wall-clock time for one of my problems. Today, when I run the exact same problem but with -tao_grtol, it now takes ~1900 iterations and ~1000 seconds. Same solution, but twice the amount of work. </div><div><br></div><div>I am guessing this means that the gradient tolerance need not be as stringent as the objective functional tolerance. But do you guys know why it was removed in the first place?</div><div><br></div><div>Thanks,</div><div>Justin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 15, 2016 at 9:54 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Mar 10, 2016, at 12:03 PM, Justin Chang <<a href="mailto:jychang48@gmail.com">jychang48@gmail.com</a>> wrote:<br>
><br>
> Hi again,<br>
><br>
> I was reading through the TAO manual and the impression I am getting is that the KSP solver computes the gradient/projection, not necessarily the solution itself. Meaning it matters not how accurate this projection is, so long as the actual objective tolerance is met.<br>
<br>
</span>  Not sure what you mean by this.<br>
<br>
  The KSP solver computes an "update" to the solution. So long as the update is "enough of" a descent direction then you will get convergence of the optimization problem.<br>
<span class=""><br>
><br>
> Is this a correct assessment of why one can get away with a less stringent KSP tolerance and still attain an accurate solution?<br>
<br>
</span>  Of course knowing how accurate the KSP must be to insure the update is "enough of" a descent direction is impossible :-)<br>
<span class="HOEnZb"><font color="#888888"><br>
  Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> Thanks,<br>
> Justin<br>
><br>
> On Tuesday, March 8, 2016, Justin Chang <<a href="mailto:jychang48@gmail.com">jychang48@gmail.com</a>> wrote:<br>
> Hi all,<br>
><br>
> So I am solving a convex optimization problem of the following form:<br>
><br>
> min 1/2 x^T*H*x - x^T*f<br>
> s.t. 0 < x < 1<br>
><br>
> Using the TAOTRON solver, I also have CG/ILU for KSP/PC. The following TAO solver tolerances are used for my specific problem:<br>
><br>
> -tao_gatol 1e-12<br>
> -tao_grtol 1e-7<br>
><br>
> I noticed that the KSP tolerance truly defines the performance of this solver. Attached are three run cases with -ksp_rtol 1e-7, 1e-3, and 1e-1 with "-ksp_converged_reason -ksp_monitor_true_residual -tao_view -tao_converged_reason -log_view". It seems that the lower the KSP tolerance, the faster the time-to-solution where the number of KSP/TAO solve iterations remains roughly the same.<br>
><br>
> So my question is, is this "normal"? That is, if using TRON, one may relax the KSP tolerances because the convergence of the solver is primarily due to the objective functional from TRON and not necessarily the KSP solve itself? Is there a general rule of thumb for this, because it would seem to me that for any TRON solve I do, i could just set a really low KSP rtol and still get roughly the same performance.<br>
><br>
> Thanks,<br>
> Justin<br>
><br>
<br>
</div></div></blockquote></div><br></div>