Feature #3417
Make modular simulator feature-complete
Description
In GROMACS 2020, the modular simulator is implemented for specific cases only. It allows to
- run simulations using almost all parallelization and optimization schemes, with the notable exceptions of
- state propagation on the GPU, and
- SIMD acceleration of the leap-frog simulator, - use the leap-frog (md) and velocity-verlet (md-vv) integration schemes,
- use all constraining schemes,
- couple the system to a temperature bath using the v-rescale thermostat,
- couple the system to a pressure bath using the Parrinello-Rahman barostat,
- use all free energy perturbation schemes with the exception of expanded ensemble.
The modular simulator code path is chosen by default for all compatible simulation types using the velocity-verlet integration scheme. Users can request the use of either the modular simulator code path or the legacy code path for all compatible simulation types using the environment variables GMX_USE_MODULAR_SIMULATOR and GMX_DISABLE_MODULAR_SIMULATOR, respectively.
For GROMACS 2021, we are aiming at making the modular simulator code path feature-complete, i.e. have all GROMACS functionality compatible with modular simulator. This will allow to reduce code duplication between modular and legacy simulator code paths.
This feature will serve as an umbrella issue for the multiple sub-tasks.
Subtasks
Related issues
History
#1 Updated by Pascal Merz 11 months ago
- Related to Task #3418: Infrastructure improvements for modular simulator added
#2 Updated by Pascal Merz 11 months ago
- Related to Feature #1137: Proposal for integrator framework (do_md) in future GROMACS added
#3 Updated by Pascal Merz 11 months ago
- Private changed from Yes to No
#4 Updated by Pascal Merz 11 months ago
Additional functionality that might need to be added to the to do list:
- simulated tempering
- simulated annealing
- expanded ensemble
- ion / water swapping
- interactive MD
- membrane embedding
Some of these have been at least discussed as being potentially deprecated, some others might be targets for algorithms to be supported through an API rather than at the simulator level. Leaving them here for now, further discussion needed.