Checkpointing
Checkpointing consists of saving the simulation state at a given time, to allow restarting from that point in case of failure. It is parametrized within ‘output’ namelist of the parameter file by setting up the following variables:
checkPointFile = '../output/check'
checkPointBackend = 'mpio'
checkPointInterval = 0.4
If the active checkpoint back-end finds a valid checkpoint during the initialization, it will load it automatically. (You cannot explicitly specify to load a checkpoint)
Hint: Currently only the output of the wavefield is designed to work with checkpoints. Other outputs such as receivers and fault output might require additional post-processing when SeisSol is restarted from a checkpoint.
Checkpointing Environment variables
The parallel checkpoint back-ends (HDF5, MPI-IO, SIONlib) support several tuning environment variables:
SEISSOL_CHECKPOINT_BLOCK_SIZE Optimize the checkpoints for a specific file system block size. Set to 1 to disable the optimization. Set to -1 for auto-detection with the SIONlib back-end. (default: 1 (MPI-IO, HDF5) or -1 (SIONlib), MPI-IO, HDF5, SIONlib back-end only)
SEISSOL_CHECKPOINT_ROMIO_CB_READ If set, the
romio_cb_read
in the MPI info object when opening the file. (default: no value, MPI-IO and HDF5 backend only)SEISSOL_CHECKPOINT_ROMIO_CB_WRITE See SEISSOL_CHECKPOINT_ROMIO_CB_READ
SEISSOL_CHECKPOINT_CB_NODES See SEISSOL_CHECKPOINT_ROMIO_CB_READ
SEISSOL_CHECKPOINT_ROMIO_DS_READ See SEISSOL_CHECKPOINT_ROMIO_CB_READ
SEISSOL_CHECKPOINT_ROMIO_DS_WRITE See SEISSOL_CHECKPOINT_ROMIO_CB_READ
SEISSOL_CHECKPOINT_SION_BACKEND The SIONlib back-end that should be used. Should be either ansi or posix. (default: ‘ansi’, SIONlib back-end only)
SEISSOL_CHECKPOINT_SION_NUM_FILES Number of SIONlib files. (default: 1, SIONlib back-end only)
SEISSOL_CHECKPOINT_SION_COLL_SIZE The collective size in SIONlib. Set to 0 for disabling collective operations. See SIONlib documentation for more details. (default: 0, SIONlib back-end only)
SEISSOL_CHECKPOINT_SION_COLL_MODE The collective mode for SIONlib. Should be either merge or normal. See SIONlib documentation for more details. (default: ‘merge’, SIONlib back-end only)