Gromacs  2019
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations
checkpointhandler.h File Reference
#include <memory>
#include "gromacs/compat/pointers.h"
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/simulationsignal.h"
+ Include dependency graph for checkpointhandler.h:

Description

Declares the checkpoint handler class.

This class sets the signal to checkpoint based on the elapsed simulation time, and handles the signal if it is received. When handling the signal (via decideIfCheckpointingThisStep()), it is deciding whether a checkpoint should be saved at the current step. This can be due to a received signal, or if the current simulation step is the last. This information can be queried via the isCheckpointingStep() function.

The setting and handling is implemented in private functions. They are only called if a respective boolean is true. For the trivial case of no checkpointing (or no checkpoint signal setting on any other rank than master), the translation unit of the calling function is therefore never left. In the future, this will be achieved by adding (or not adding) handlers / setters to the task graph.

Author
Pascal Merz pasca.nosp@m.l.me.nosp@m.rz@co.nosp@m.lora.nosp@m.do.ed.nosp@m.u

Classes

class  gmx::CheckpointHandler
 Class handling the checkpoint signal. More...
 

Enumerations

enum  gmx::CheckpointSignal { noSignal = 0, doCheckpoint = 1 }
 Checkpoint signals. More...