[petsc-dev] Out-of-core Krylov

Jed Brown jed at jedbrown.org
Tue Sep 26 15:22:54 CDT 2017

Here's a fun use case that we ought to support.  When solving
time-periodic flow problems using Newton-Krylov methods, application of
the operator can involve thousands of time steps.  The data sizes aren't
huge, but at the strong scaling limit such that time integration can
still take several hours, meaning that the Krylov method cannot be run
to convergence within the wall-clock limits of the queue.

Most of our time integrators are currently written using TSStep so that
we can give the user control after each step.  Doing this transformation
for all KSP implementations would be sort of a headache, but it should
be possible for one or two methods (GMRES is likely most useful).  (This
is one time we wish we used a programming language that could return and
serialize continuations...)  Anyway, if we had an interface like
KSPStep() or KSPIterateOnce(), then we would add KSPView() to a suitable
file format (needs to store Hessenberg state and Krylov basis; doesn't
_need_ to be architecture-independent in my opinion).

More information about the petsc-dev mailing list