Gromacs  2024.4
 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/simulationsignal.h"
+ Include dependency graph for checkpointhandler.h:
+ This graph shows which files directly or indirectly include this file:

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 main), 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...