[gmx-users] slow speed

Mark Abraham Mark.Abraham at anu.edu.au
Thu Apr 15 16:18:05 CEST 2010


On 16/04/2010 12:02 AM, Shuangxing Dai wrote:
> Hi, gmx-users:
>     I am using latest version of gromacs and found it was really slow. I
> was wondering anyone got the same experience and can point out where the
> problem is.
>     I was running double precision for MD. But for each dynamics
> simulation, it takes 4 days. I should only take two or three hours.

Well, double precisions is slower - possibly very much so. You need 
twice the bus and cache bandwidth because you are throwing around twice 
the memory. Otherwise, we can't say much because we don't know anything 
about your hardware or where you got your benchmark from.

Other comments below. It looks very much like you've gone and made a 
bunch of semi-random changes to things. That's not normally a good idea.

>     Here is the .mdp file:
> define                   =
> ; RUN CONTROL PARAMETERS =
> integrator               = sd
> ; start time and timestep in ps =
> tinit                    = 0
> dt                       = 0.001
> nsteps                   = 200000
> ; number of steps for center of mass motion removal =
> nstcomm                  = 100
> ; OUTPUT CONTROL OPTIONS =
> ; Output frequency for coords (x), velocities (v) and forces (f) =
> nstxout                  = 0
> nstvout                  = 0
> nstfout                  = 0
> ; Output frequency for energies to log file and energy file =
> nstlog                   = 100
> nstenergy                = 100
> ; Output frequency and precision for xtc file =
> nstxtcout                = 100
> xtc-precision            = 1000
> ; NEIGHBORSEARCHING PARAMETERS =
> ; nblist update frequency =
> nstlist                  = 50
> ; ns algorithm (simple or grid) =
> ns_type                  = grid
>
> ;OPTIONS FOR PRESSURE COUPLING
> Pcoupl                   = berendsen
> tau_p                    = 1
> compressibility          = 4.5e-05
> ref_p                    = 0.1
> ;OPTIONS FOR TEMPERATURE COUPLING
> tc_grps                  = system
> tau_t                    = 0.1
> ref_t                    = 300
> ; OPTIONS FOR BONDS     =
> constraints              = hbonds
> ; Type of constraint algorithm =
> constraint-algorithm     = Lincs
> ; Do not constrain the start configuration =
> unconstrained-start      = no
> ; Relative tolerance of shake =
> shake-tol                = 0.0001
> ; Highest order in the expansion of the constraint coupling matrix =
> lincs-order              = 12

That's huge, and the use of lincs is somewhat inconsistent with a 1fs 
timestep.

> ; Lincs will write a warning to the stderr if in one step a bond =
> ; rotates over more degrees than =
> lincs-warnangle          = 30
> ; Periodic boundary conditions: xyz, no, xy
> pbc                      = xyz
> periodic_molecules       = no
> ; nblist cut-off
> rlist                    = 1
>
> ; OPTIONS FOR ELECTROSTATICS AND VDW
> ; Method for doing electrostatics
> coulombtype              = Ewald

This could be a correct decision, but it's unlikely.

> rcoulomb                 = 1
> ; Method for doing Van der Waals
> vdw-type                 = Cut-off
> ; cut-off lengths
> rvdw                     = 1
>
> ; Spacing for the PME/PPPM FFT grid
> fourierspacing           = 0.12
> ; FFT grid size, when a value is 0 fourierspacing will be used
> fourier_nx               = 0
> fourier_ny               = 0
> fourier_nz               = 0
> ; EWALD/PME/PPPM parameters
> pme_order                = 6
> ewald_rtol               = 1e-4

Again, could be correct, or could just be killing you.

> ewald_geometry           = 3d
> epsilon_surface          = 0
> optimize_fft             = no

Mark



More information about the gromacs.org_gmx-users mailing list