On Fri, Mar 4, 2022 at 2:07 PM Varun Hiremath <[email protected]>
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/>

Reply via email to