How can I resume a previous run?

26 views
Skip to first unread message

Chung Nguyen Kim

unread,
Jul 10, 2025, 9:44:55 AMJul 10
to gmx_MMPBSA
Hi, thanks for making this program. It is super helpful and easy enough to use.

I was running gmx_MMPBSA on a HPC system (Gadi, Australia) and my calculation was killed due to exceed wall time request (I requested 14 hours but after 14 hours the calculation did not finish). I tried to run the command again, but it deleted all the computations it got before and started from scratch. (Command: gmx_MMPBSA -i mmpbsa.in -cs eTEV_md_0_1180.tpr -ct eTEV_md_0_1180_fit.xtc -ci index.ndx -cg 17 18 -cp topol.top -o eTEV_MMPBSA.dat -eo eTEV_MMPBSA.csv
).

Is there anyway that I can continue from an unfinished run and do not have to start again?

Thank you very much.

Kind regards,

Kim Chung

mariosergi...@gmail.com

unread,
Jul 10, 2025, 10:26:24 AMJul 10
to gmx_MMPBSA
Unfortunately, no, and it probably never will be because the computation is relatively short, and it's complex to program this functionality for the real benefit it provides.
In your case, you can significantly improve computation time through parallelization. In this case, you've used the serial version, so the entire calculation is performed in a single thread. Use this version with `mpirun -np number_tasks`, where number_tasks can be the number of CPUs the node has or the number of tasks you requested from your queuing system.
For example, using SLURM

*******************************************************************************************************
#!/bin/bash
#SBATCH -N 1                                # number of nodes
#SBATCH --ntasks-per-node=32                # number of tasks per-node
#SBATCH --time=14:00:00                   # using 14 hours
#SBATCH --partition=testp
#SBATCH --error=error_test.%J.err
#SBATCH --output=output_test.%J.out

cd $SLURM_SUBMIT_DIR

source /path/to/installation/softwares/gmx_MMPBSA/miniconda3/etc/profile.d/conda.sh
conda activate gmxMMPBSA

# $SLURM_NTASKS is the number of global tasks (nodes * ntasks-per-node), so if you configure 2 nodes, it will automatically change to 64

mpirun -np $SLURM_NTASKS gmx_MMPBSA -O -i mmpbsa.in -cs md_0_10.tpr -ct md_0_10_center.xtc -ci index.ndx -cg 1 13 -cp topol.top -o FINAL_RESULTS_MMPBSA.dat -eo FINAL_RESULTS_MMPBSA.csv -do FINAL_DECOMP_MMPBSA.dat -deo FINAL_DECOMP_MMPBSA.csv -nogui
*******************************************************************************************************

Depending on the calculations you're running, it may take more or less time. In terms of computational cost, nmodes and RISM are the ones that take the longest.
I don't know how many resources you requested, but I assume it would be at least a 24 or 32 CPU node, but using mpirun can significantly increase its efficiency (see the graphs at the bottom of the page https://valdes-tresanco-ms.github.io/gmx_MMPBSA/dev/gmx_MMPBSA_running/#before-running-gmx_mmpbsa)
Consider that each method that adds to the input file adds to the total time required to complete the computation (GB is the fastest, followed by GBNSR6 [~1.5-2x], PB [5x], RISM/NMODE[20x], IE/C2 [~10s])
Reply all
Reply to author
Forward
0 new messages