[petsc-users] SLEPc solve: progress info and abort option

Matthew Knepley knepley at gmail.com
Fri Mar 4 13:16:42 CST 2022


On Fri, Mar 4, 2022 at 2:07 PM Varun Hiremath <varunhiremath at gmail.com>
wrote:

> Hi All,
>
> We use SLEPc to compute eigenvalues of big problems which typically takes
> a long time. We want to add a progress bar to inform the user of the
> estimated time remaining to finish the computation. In addition, we also
> want to add an option for the user to abort the computation midway if
> needed.
>
> To some extent, I am able to do these by attaching a custom function to
> EPSSetStoppingTestFunction
> <https://slepc.upv.es/documentation/current/docs/manualpages/EPS/EPSSetStoppingTestFunction.html#EPSSetStoppingTestFunction> and
> using nconv/nev as an indication of progress, and throwing an exception
> when the user decides to abort the computation. However, since this
> function gets called only once every iteration, for very big problems it
> takes a long time for the program to respond. I was wondering if there is
> any other function to which I can attach, which gets called more frequently
> and can provide more fine-grained information on the progress.
>

I believe (Jose can correct me) that the bulk of the time in an iterate
would be in the linear solve. You can insert something into a KSPMonitor.
If you know the convergence tolerance and assume a linear convergence rate
I guess you could estimate the "amount done".

  Thanks,

     Matt


> Thanks,
> Varun
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220304/49eb835e/attachment.html>


More information about the petsc-users mailing list