Skip to content

Performance bottleneck when using ENVIRONMENTSIMILARITY with OpenMM on HPC cluster with limited CPU threads #1440

Description

@KingOfChuXuan

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions