[petsc-users] Checkpointing-restart

Hong Zhang hongzhang at anl.gov
Mon May 23 11:15:50 CDT 2016


Hi Pierre,

Checkpointing and restarting the TS solver can be achieved easily with TSTrajectory. It is intended specifically for adjoint calculation, but I think the implementation can also be useful for resilience. 

In particular, you might want to start with the basic type (/src/ts/trajectory/impl/basic), which saves the solution and stage values (optional) to binary files on disk at each time step. To enable this feature, just use the command line options -ts_save_trajectory -ts_trajectory_type basic. To read the data back, you can call TSTrajectoryGet() (which is the high-level interface you asked for).

Another TSTrajectory type ‘memory’ comes with many sophisticated checkpointing schemes using RAM (single-level) or a combination of RAM and disk (multi-level). I would suggest you to use the existing interface as much as possible because the framework has been deliberately designed and extensively tested for compatibility with other PETSc components such as TSMonitor, TSEvent and TSAdapt. 

Hong  

> On May 23, 2016, at 10:13 AM, Pierre-Louis Guhur <pguhur at anl.gov> wrote:
> 
> Hello,
> 
> I would like to experiment a checkpointing-restart scheme in the context of PDEs. It would consist of checkpointing regularly key variables, and being able to restart the solver from a certain checkpoint.
> 
> Could I do it with a XXXView() and XXXLoad() with used components?
> 
> Have any application implemented an higher-level interface?
> 
> Thanks,
> 
> Pierre
> 



More information about the petsc-users mailing list