Unexplained calculation stalling during density fit

GROMACS version: 2024.4=mpi_openmpi_cuda_he6b8466_0 (conda distribution)
GROMACS modification: Yes/No

I’m trying to do density fitting, following the bioexcel webinar #82, when i look at my performance log I see this

82% of the time has been spend on “rest”, not sure what it is exactly

i have nothing else running on my workstation, i dont know what is stalling my computation so much

here is my mdp file

; Run parameters
integrator = md ; leap-frog integrator
nsteps = 1500000 ; 2 * 500000 = 1000 ps (1 ns)
dt = 0.002 ; 2 fs
; Output control
nstxout = 0 ; suppress bulky .trr file by specifying
nstvout = 0 ; 0 for output frequency of nstxout,
nstfout = 0 ; nstvout, and nstfout
nstenergy = 5000 ; save energies every 10.0 ps
nstlog = 5000 ; update log file every 10.0 ps
nstxout-compressed = 5000 ; save compressed coordinates every 10.0 ps
compressed-x-grps = System ; save the whole system
; Bond parameters
continuation = yes ; Restarting after NPT
constraint_algorithm = lincs ; holonomic constraints
constraints = h-bonds ; bonds involving H are constrained
lincs_iter = 1 ; accuracy of LINCS
lincs_order = 4 ; also related to accuracy
; Neighborsearching
cutoff-scheme = Verlet ; Buffered neighbor searching
ns_type = grid ; search neighboring grid cells
nstlist = 200 ; 20 fs, largely irrelevant with Verlet scheme
rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm)
rvdw = 1.0 ; short-range van der Waals cutoff (in nm)
; Electrostatics
coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics
pme_order = 4 ; cubic interpolation
fourierspacing = 0.16 ; grid spacing for FFT
; Temperature coupling is on
tcoupl = V-rescale ; modified Berendsen thermostat
tc-grps = RNA Water_and_Ions ; two coupling groups - more accurate
tau_t = 1 1 ; time constant, in ps
ref_t = 300 300 ; reference temperature, one for each group, in K
; Pressure coupling is on
pcoupl = C-rescale ; Pressure coupling on in NPT
pcoupltype = isotropic ; uniform scaling of box vectors
tau_p = 5.0 ; time constant, in ps
ref_p = 1.0 ; reference pressure, in bar
compressibility = 4.5e-5 ; isothermal compressibility of water, bar^-1
; Periodic boundary conditions
pbc = xyz ; 3-D PBC
; Dispersion correction
DispCorr = EnerPres ; account for cut-off vdW scheme
; Velocity generation
gen_vel = no ; Velocity generation is off

density-guided-simulation-active = true ; Activate density-guided simulations.
density-guided-simulation-reference-density-filename = density.mrc
density-guided-simulation-group = RNA
; Similarity measure between densities: inner-product, relative-entropy, or cross-correlation
density-guided-simulation-similarity-measure = relative-entropy
density-guided-simulation-force-constant = 10e3 ; The scaling factor for forces (can be negative)
; Atom amplitude for spreading onto grid: unity, mass, or charge
density-guided-simulation-atom-spreading-weight = mass
density-guided-simulation-gaussian-transform-spreading-width = 0.8 ; nm
density-guided-simulation-nst = 100
density-guided-simulation-normalize-densities = true ; Normalize the sum of density voxel values to one
density-guided-simulation-shift-vector = 26.405597600876234 22.1953548185108 4.493130894390984
density-guided-simulation-transformation-matrix = 0.8670686758980501 -0.2615834828985498 0.4239881988346681 0.47127429695568357 0.15472962532491696 -0.8683082863106495 0.1615315706149363 0.9526976564059948 0.2574387833509103

i’m using amber03 as a ff

Thanks in advance for your help

Hi Yann,

I’m not 100% sure on this but the “Rest” part of the wall time accounting doesn’t actually mean the simulation is “resting”, but it’s “the rest” of the time spent on unspecified things. You’ll notice the other named sections are all part of a regular MD simulation, but you are additionally doing density fitting, which takes a significant amount of time. I’ve never run a density fitting simulation so I can’t comment on if the specific numbers look sensible, but I would say that’s most likely what you’re seeing here.

You might try switching to a 2025 version of GROMACS, because if I remember correctly, that should have added functionality for an explicit timing section for special modules (like density fitting), which should then account for most of what is now labeled “Rest”.