wehs7661 / ensemble_md

A python package for performing GROMACS simulation ensembles
MIT License
13 stars 4 forks source link

Add the CLI `run_EEXE_mpi` #20

Open wehs7661 opened 1 year ago

wehs7661 commented 1 year ago

As discussed in issues #10, and #13, the flag -multidir in mdrun can be used to enable MPI-enabled GROMACS, but the overhead could be high due to longer GROMACS start times. However, in cases where the exchange frequency is not too high so the introduced overhead is affordable (e.g. in EEXE simulations for multiple serial mutations), enabling MPI-enabled GROMACS might still be useful.

To make our EEXE implementation work with both thread-MPI GROMACS and MPI-enabled GROMACS, we decided to have two CLIs for running EEXE simulations, including the original CLI run_EEXE that works for thread-MPI GROMACS, and the CLI run_EEXE_mpi that we aim to develop here to work with MPI-enabled GROMACS. These two CLIs will be mostly the same, except that run_EEXE_mpi will not use mpi4py to avoid nested MPI calls. Some functions in ensemble_EXE.py may need to be modified to work with both thread-MPI GROMACS and MPI-enabled GROMACS, or, when this is not possible, functions specifically for MPI-enabled GROMACS will be added.

This issue is a part of the work in the project EEXE for serial mutations.