Hi PLUMED community,
I am running enhanced sampling simulations for ice nucleation using OpenMM + DeepMD-kit + PLUMED (openmmplumed). I am using ENVIRONMENTSIMILARITY combined with OPES_EXPANDED to drive the phase transition in a bulk water system (2592 atoms / 864 water molecules).
Problem Description
On my local workstation with 24 CPU threads assigned (PLUMED_NUM_THREADS=16), the simulation runs efficiently with >90% GPU utilization. However, on our remote HPC cluster where each GPU node is strictly limited to 12 CPU threads per GPU task, the simulation performance collapses dramatically:
- Without PLUMED (Pure OpenMM + DeepMD): ~10 ns/day
- With PLUMED (
ENVIRONMENTSIMILARITY): Drops to ~1 ns/day
- GPU Utilization: Drops from >90% down to ~10% (GPU is idling most of the time waiting for CPU force evaluation).
Since I cannot change the hardware constraints on the cluster (12 CPU threads max per task), ENVIRONMENTSIMILARITY has become a severe CPU-bound bottleneck.
Questions / Request for Advice
Without changing the remote hardware or upgrading the node allocation, what actionable options do I have to improve simulation speed and remove this CPU bottleneck?
PLUMED Script
env: ENVIRONMENTSIMILARITY ...
SPECIES=1-2592:3
SIGMA=0.05
CRYSTAL_STRUCTURE=CUSTOM
REFERENCE_1=ref1.pdb
REFERENCE_2=ref2.pdb
REFERENCE_3=ref3.pdb
REFERENCE_4=ref4.pdb
MORE_THAN={RATIONAL R_0=0.65 NN=8 MM=16}
MEAN
...
n_ice: CUSTOM ARG=env.morethan FUNC=x PERIODIC=NO
ecv: ECV_UMBRELLAS_LINE ARG=n_ice TEMP=260.0 CV_MIN=360 CV_MAX=432 SIGMA=1.0 BARRIER=50
opes: OPES_EXPANDED ARG=ecv.* PACE=2000 STRIDE=1
PRINT STRIDE=500 ARG=env.mean,n_ice,ecv.*,opes.bias FILE=colvar_opes.out
FLUSH STRIDE=500
Any suggestions or optimization tips would be greatly appreciated!
Hi PLUMED community,
I am running enhanced sampling simulations for ice nucleation using
OpenMM+DeepMD-kit+PLUMED(openmmplumed). I am usingENVIRONMENTSIMILARITYcombined withOPES_EXPANDEDto drive the phase transition in a bulk water system (2592 atoms / 864 water molecules).Problem Description
On my local workstation with 24 CPU threads assigned (
PLUMED_NUM_THREADS=16), the simulation runs efficiently with >90% GPU utilization. However, on our remote HPC cluster where each GPU node is strictly limited to 12 CPU threads per GPU task, the simulation performance collapses dramatically:ENVIRONMENTSIMILARITY): Drops to ~1 ns/daySince I cannot change the hardware constraints on the cluster (12 CPU threads max per task),
ENVIRONMENTSIMILARITYhas become a severe CPU-bound bottleneck.Questions / Request for Advice
Without changing the remote hardware or upgrading the node allocation, what actionable options do I have to improve simulation speed and remove this CPU bottleneck?
PLUMED Script
Any suggestions or optimization tips would be greatly appreciated!